BubbleSort冒泡排序

#include <stdio.h>
void BubbleSort(int *a,int n);
int main(void){
int arr[10] = {2,4,6,8,0,1,3,5,7,9};
int k;
for(k=0;k<10;k++){
if(k==9)
printf("%d\n",arr[k]);
else
printf("%d,",arr[k]);
}
BubbleSort(arr,10);
for(k=0;k<10;k++){
if(k==9)
printf("%d\n",arr[k]);
else
printf("%d,",arr[k]);
}
return 0;
}
void BubbleSort(int *a,int n){
int i,j,t;
for(i=0;i<n-1;i++){
for(j = 0;j<n-i-1;j++){
if(a[j]>a[j+1]){
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
}

时间: 2024-11-05 11:46:13

BubbleSort冒泡排序的相关文章

BubbleSort 冒泡排序

# BubbleSort冒泡排序_Python实现 def bubble_sort(li): for i in range(len(li) - 1): # len为个数, range_len为所有元素下标 range(len-1)为冒泡次数,冒泡次数为元素个数-1 for j in range(len(li) - i - 1): # 此处-i 能够避免继续遍历已经排列好的次序 if li[j] >= li[j + 1]: li[j], li[j + 1] = li[j + 1], li[j] r

递归方式实现BubbleSort 冒泡排序

冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. package sort; import java.util.Arrays; import java.util.Random; public class BubbleSort {     public 

算法入门———冒泡排序

冒泡排序从名字上就可以看出它的特点就像水里的气泡一样每一个气泡一步一步网上冒 一图胜前言 冒泡的基本思想就是讲两两相邻的数字进行大小比较,大的数字放在后面. 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. package bubblesort; /** * 冒泡排序 * 基

数据结构之冒泡排序

排序思路:整个算法从最下面的元素开始,对相邻的元素进行比较,经过交换使得较小的元素在较大的元素之上,经过对每个元素的两两比较,最后最小的元素被移到前面的位置. 算法实现: public class BubbleSort { public static void bubbleSort(int arr[]){ int temp; for(int i= 0; i < arr.length-1; i ++){//有N个元素只需比较N-1次for(int j = arr.length-1; j > i;

冒泡排序-精编版

1 #include <stdio.h> 2 /************************************************************** 3 * BubbleSort:冒泡排序实现函数(从小到大 * 4 * 参数:a[]:排序前的整型数组 * 5 * n:数组元素数 * 6 * 返回值:无 * 7 ***************************************************************/ 8 void BubbleSor

js实现队列的操作以及对队列中数字的冒泡排序的可视化

一.理论基础 (1)封装一个对队列操作的构造函数,可以进行进队列,出队列,获得队列长度,返回该队列的数组形式. (2)使用正则表达式对input框中的输入字符进行验证,并获得有效的值 (3)使用setInterval()定时器实现可视化的冒泡排序过程,(因为js中没有sleep()函数),使用两个嵌套if语句控制排序过程,外部if语句表示执行次数,内部if语句进行相邻两个数的比较,每两个相邻数字,通过比较,交换完之后,绘制一次图形,j++,然后通过定时器继续执行函数,当一次的相邻数字比较完之后,

Java改进的冒泡排序ImprovedBubbleSort

原理:冒泡排序需要遍历几次数组,每次遍历都要比较相邻的元素,如果某一对降序则互换他们的值,由于较小的值像"气泡"一样浮向顶部,较大的值沉向底部,所以叫冒泡排序. 实例演示: 一般冒泡排序的特点是:n个数总共要比较(遍历)n-1趟,第i趟要比较n-i次. 一般程序是: public static void bubbleSort(int[] list){ int n=list.length; for(int i=1;i<n;i++){//总共比较n-1趟 for(int j=0;j&

go实现冒泡排序和快速排序

项目结构 冒泡排序算法,源文件bubblesort.go package bubblesort // 冒泡排序 func BubbleSort(values []int) { for i := 0; i < len(values) - 1; i ++ { flag := true for j := 0; j < len(values) - i - 1; i ++ { if values[j] > values[j + 1] { values[j], values[j + 1] = val

数据结构_排序_冒泡排序

the first bloc.最近面试和笔试都涉及到冒泡排序,特来记录一下. public class Bubblesort {     //冒泡排序是两两相邻元素进行比较,每一趟比较下来确定出一个最终元素.下一趟再进行比较时便可不再进行这个元素的比较,因为它已                                                   //经在上一趟比较完了,确定了位置. /** * @param args */ public static int[] sort(int