//實現堆排序演算法
#include
#include
#define maxe 20
typedef
int keytype;
typedef
char infotype[10]
;typedef
struct
rectype;
void
dispheap
(rectype r,
int i,
int n)
//按遞增有序進行直接插入排序
}void
sift
(rectype r,
int low,
int high)
else
break;}
r[i]
=temp;
}void
heapsort
(rectype r,
int n)
}int
main()
; n=
sizeof
(a)/4;
rectype r[maxe]
;for
(i=1
;i<=n;i++
) r[i]
.key=a[i-1]
;printf
("\n");
printf
("初始關鍵字: ");
for(k=
1;k<=n;k++
)printf
("%4d"
,r[k]
.key)
;printf
("\n");
for(i=n/
2;i>=
1;i--
)sift
(r,i,n)
;heapsort
(r,n)
;printf
("最後結果: ");
for(k=
1;k<=n;k++
)printf
("%2d "
,r[k]
.key)
;printf
("\n\n");
return0;
}
資料結構原始碼筆記(c語言描述)彙總:
資料結構原始碼筆記(c語言):英文單詞按字典序排序的基數排序
資料結構原始碼筆記(c語言):直接插入排序
資料結構原始碼筆記(c語言):直接選擇排序
資料結構原始碼筆記(c語言):置換-選擇演算法
資料結構原始碼筆記(c語言):huffman樹字元編碼
資料結構原始碼筆記(c語言):josephus問題之順序表
資料結構原始碼筆記(c語言):josephus問題之迴圈鏈結表
資料結構原始碼筆記(c語言):多項式合併
資料結構原始碼筆記(c語言):二叉樹之葉子結點旋轉銷毀
資料結構原始碼筆記(c語言):哈夫曼樹
資料結構原始碼筆記(c語言):集合的位向量表示
資料結構原始碼筆記(c語言):鏈結佇列
資料結構原始碼筆記(c語言):鏈結棧
資料結構原始碼筆記(c語言):線性表的單鏈表示
資料結構原始碼筆記(c語言):線性表的順序表示
資料結構原始碼筆記(c語言):棧的基本操作
資料結構原始碼筆記(c語言):中綴表示式
資料結構原始碼筆記(c語言):希爾插入排序
資料結構原始碼筆記(c語言):索引檔案建立和查詢
資料結構原始碼筆記(c語言):氣泡排序
資料結構原始碼筆記(c語言):快速排序
資料結構原始碼筆記(c語言):可變長度字串的快速排序
資料結構原始碼筆記(c語言):基數排序
資料結構原始碼筆記(c語言):二路歸併排序
資料結構原始碼筆記(c語言):堆排序
資料結構原始碼筆記(c語言):二叉樹搜尋樹kruskal
資料結構原始碼筆記(c語言):二叉搜尋樹prim
資料結構原始碼筆記(c語言):最短路徑弗洛伊德演算法
資料結構原始碼筆記(c語言):深度、廣度優先生成樹
資料結構原始碼筆記(c語言):鄰接矩陣轉化鄰接表
資料結構原始碼筆記(c語言):統計字串**現的字元及其次數
資料結構原始碼筆記(c語言):順序查詢
資料結構原始碼筆記(c語言):分塊法查詢
資料結構原始碼筆記(c語言):二分查詢
資料結構原始碼筆記(c語言):二叉樹遍歷
資料結構原始碼筆記(c語言):二叉平衡樹的相關操作演算法
資料結構原始碼筆記(c語言):二叉排序樹的基本操作演算法
資料結構原始碼筆記(C語言) 直接選擇排序
實現直接選擇排序演算法 include include define maxe 20 typedef int keytype typedef char infotype 10 typedef struct rectype void selectsort rectype r,int n 直接選擇排序演...
c語言資料結構之 堆排序
演算法 先生成隨機數,賦值到陣列,將陣列第乙個元素a 0 設定為哨兵,函式呼叫陣列和隨機數個數n,再設定n 2的根結點與孩子結點進行比較操作,若右孩子存在,則選出三個數里最小的數賦值給根節點,如果右孩子不存在,則只需比較左孩子與根節點大小,一直迴圈操作至a 1 再從a 2 開始進行根結點與孩子結點進...
資料結構原始碼筆記(C語言) 鏈結棧
鏈結棧 型別和介面函式宣告 include include typedef int datatype struct node 單鏈表結點 typedef struct node pnode 指向結點的指標型別 struct node struct linkstack 鏈結棧型別定義 typedef ...