//排序://不穩定排序:口訣:考研複習,情緒不穩定,快(快速)些(希爾)選(選擇)一堆(堆排序)研友
//時間複雜度為nlogn的排序:口訣:快(快速)些(希爾)歸(歸併)隊(堆排序)
1 #include 2using
namespace
std;34
//排序:5//
不穩定排序:口訣:考研複習,情緒不穩定,快(快速)些(希爾)選(選擇)一堆(堆排序)研友6//
時間複雜度為nlogn的排序:口訣:快(快速)些(希爾)歸(歸併)隊(堆排序)78
void insertsort(int a,int n)
15 a[j+1]=temp;16}
17}18void shellsort(int a,int n)
27 a[j+dk]=temp;28}
29}30}
31}32void bubblesort(int a,int n) 40}
41}42}
43void quicksort(int a,int left,int right)
53while(i;
54if(i59 a[i]=temp;
60 quicksort(a,left,i-1);//
對左半部分排序
61 quicksort(a,i+1,right);//
對右半部分排序62}
63}64void selectsort(int a,int n) 71}
72int temp=a[i];
73 a[i]=a[k];
74 a[k]=temp;75}
76}77void sift(int a,int low,int high)
84if(tempbreak;89
}90 a[i]=temp;91}
92void heapsort(int a,int n)
98for(i=n; i>=2; i--)
104}
105void mergesort(int a,int low,int high)
112}
113int
main() ;
115for(int i=0; i<10; i++)
118 cout<119//
insertsort(a,10);
//1插入排序
120//
shellsort(a,10);
//2希爾排序
121//
bubblesort(a,10);
//3氣泡排序
122//
quicksort(a,0,9);
//4快速排序
123//
selectsort(a,10);
//5選擇排序
124int b[11]= ;//
堆排序的陣列從下標為1開始;
125 heapsort(b,10);//
6.堆排序
126for(int i=1; i<=10; i++)
129 cout<130for(int i=0; i<10; i++)
133 cout<134return0;
135 }
排序 資料結構
define maxsize 20 typedef int redtype typedef struct redtype typedef struct sqlist void straightinsertsort sqlist l l.r j 1 l.r 0 void shellsort sqlis...
排序資料結構總結
1.排序的基本概念 排序 給定一組記錄的集合,其相應的關鍵碼分別為,排序是將這些記錄排列成順序為的乙個序列,使得相應的關鍵碼滿足ks1 ks2 ksn 稱為公升序 或ks1 ks2 ksn 稱為降序 正序 待排序序列中的記錄已按關鍵碼排好序。逆序 反序 待排序序列中記錄的排列順序與排好序的順序正好相...
快速排序 資料結構
include 函式宣告 void insertion sort int a,int n 插入排序 void swap int a,int b 交換陣列兩位元素的位置 intmedian int a,int left,int right 將基準放到倒數第二的位置,並返回基準的值 void qsort...