冒泡排序
基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
void bubbleSort(int a[],int n){ for(int i=0;ia[j+1]) { int tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } }}
快速排序的基本思想:
(1)选择一个基准元素,通常选第一个或者最后一个元素。
(2)通过一趟排序之后将待排序的记录分割成独立的两部分,其中一部分的记录的元素值均比基准元素值小,另一部分记录的元素均比基准元素值大。
(3)此时基准元素在其排好序的正确位置
(4)然后分别对这两部分的记录用同样的方法继续进行排序,直到整个序列有序,快排完毕。
具体代码如下:
1 //快速排序 2 3 void print(int a[],int n) 4 { 5 for(int j=0;j=privotkey) --high;24 swap_int(&a[low],&a[high]);25 while(low