排序(資料結構)

2022-05-10 07:23:47 字數 1703 閱讀 3507

//排序:

//不穩定排序:口訣:考研複習,情緒不穩定,快(快速)些(希爾)選(選擇)一堆(堆排序)研友

//時間複雜度為nlogn的排序:口訣:快(快速)些(希爾)歸(歸併)隊(堆排序)

1 #include 2

using

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...