1.比较相邻的元素,如果前一个数的值大于后一个数的值,那么交换他们的位置
2.对每一个相邻的元素做同样的比较,从开始到最后,这步做完,最后一个元素就是当前数组中最大的元素。
比如;第一个和第二个比,如果第一个大,那么交换。交换后,用新的第二个和第三个比.........这个过程就可以确定下来整个序列最大的值,最终把这个最大值放在序列最后一位。
3.当2的步骤执行完毕后(也就是第一轮比较完毕),此时把序列中最大的值排在了最后一位,然后得到了一个新的序列。对这个新的序列再执行2步骤,就可以把次大值排在倒数第二序列,以此类推,可排列为从小到大的一个序列!
2.C语言实现冒泡排序#includevoid BubbleSort(int arr[],int len) { int i,j; int tem; for(i=len-1;i>0;i--) { for(j=0;jarr[j+1]) { tem = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tem; } } } } int main() { int i; int array[20]={1,8,5,4,7,9,5,7,6,2,1,5,4,5,4}; BubbleSort(array,sizeof(array)/sizeof(array[0])-1); for(i=0;i<(sizeof(array)/sizeof(array[0]));i++) { printf("%d",array[i]); } return 0; }