冒泡排序
Posted ckrgd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序相关的知识,希望对你有一定的参考价值。
参考链接:冒泡排序
1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。
3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。
4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。
有以下代码
1 void bubble_sort(int arr[], int i_arrNum) 2 { 3 int i_temp; 4 for (int i = 0; i < i_arrNum - 1; i++) 5 { 6 for(int j = 0; j < i_arrNum - 1 - i; j++) 7 { 8 if(arr[j] < arr[j+1]) 9 { 10 i_temp = arr[j]; 11 arr[j] = arr[j + 1]; 12 arr[j + 1] = i_temp; 13 } 14 for (int a = 0; a < i_arrNum; a++) 15 { 16 printf("%d, ", arr[a]); 17 } 18 printf(" "); 19 } 20 printf("*** "); 21 system("pause"); 22 } 23 } 25 26 int _tmain(int argc, _TCHAR* argv[]) 27 { 28 int arr[6] = {3, 6, 4, 2, 5, 0}; 30 bubble_sort(arr, sizeof(arr) / sizeof(int)); 31 return 0; 32 }
以上是关于冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章