排序 資料結構

2021-10-01 05:55:44 字數 1730 閱讀 1929

#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

(sqlist &l,

int dt,

int t)

}

void

binsertsort

(sqlist &l)

for(j=i-

1;j>=high+

1;j--

) l.r[high+1]

=l.r[0]

;}}

void

shellinsert

(sqlist &l,

int dk)}}

}

void

bubblesort

(sqlist &l)}}

}

引入falg進行改進

void

bubblesort

(sqlist &l)

}--m;

}}

void

selectsort

(sqlist &l)}if

(k!=i)

}}

簡單選擇排序,移動次數很少了,但是要考慮,減少它的比較次數,如果利用前面比較所得到的資訊,就更好了

堆排序是一種樹形選擇排序,在排序過程中,將待排序的記錄看成是一顆完全二叉樹的順序儲存結構,利用完全二叉樹中雙親和孩子之間的內在關係,在當前無序的序列中選擇關鍵字最小(大)的記錄

void

heapadjust

(sqlist &l,

int s,

int m)

l.r[s]

=rc;

}

void

createheap

(sqlist &l)

}

void

heapsort

(sqlist &l)

}

void

merge

(redtype r[

],redtype t,

int low,

int mid,

int high)

while

(i<=mid)

while

(j<=high)

}

void

msort

(redtype r[

],redtype t,

int low,

int high)

}

void

mergesort

(sqlist &l)

排序(資料結構)

排序 不穩定排序 口訣 考研複習,情緒不穩定,快 快速 些 希爾 選 選擇 一堆 堆排序 研友 時間複雜度為nlogn的排序 口訣 快 快速 些 希爾 歸 歸併 隊 堆排序 1 include 2 using namespace std 34 排序 5 不穩定排序 口訣 考研複習,情緒不穩定,快 快...

排序資料結構總結

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