資料結構C語言版(李雲清)實驗10 排序

2021-10-01 18:50:15 字數 3678 閱讀 9278

#include

"arrayio.h"

#define n 500000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

insertsort

(int a,

int n)

a[j+1]

=a[0];

}}intmain()

#include

"arrayio.h"

#define n 50000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

bininsertsort

(int a,

int n)

//插入的位置是left

a[0]

=a[i]

;for

(j=i-

1;j>=left;j--

) a[j+1]

=a[j]

; a[left]

=a[0];

}}intmain()

#include

"arrayio.h"

#define n 500000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

shellsort

(int a,

int n)

a[j+d]

=a[0];

} d=d/2;

}}intmain()

#include

"arrayio.h"

#define n 50

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

selectsort

(int a,

int n)}}

intmain()

#include

"arrayio.h"

#define n 500

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

sift

(int a,

int k,

int n)

} a[i]

=a[0];

}void

heapsort

(int a,

int n)

}int

main()

#include

"arrayio.h"

#define n 50

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

bubblesort

(int a,

int n)

} n--;}

}int

main()

#include

"arrayio.h"

#define n 500000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

quicksort

(int a,

int low,

int high )

while

(left!=right)

; a[left]

=a[0];

quicksort

(a,low,left-1)

;quicksort

(a,left+

1,high);}

}int

main()

#include

"arrayio.h"

#define n 10000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

/*請將本函式補充完整,並進行測試*/

void

merge

(int a,

int u,

int m,

int v)

else

k++;}

if(i>m)

for(t=j;t<=v;t++

) b[k+t-j]

=a[t]

;else

for(t=i;t<=m;t++

) b[k+t-i]

=a[t]

;/*將l2表中的內容拷貝回表l1*/

for(i=u;i<=v;i++

) a[i]

=b[i];}

/*----一趟歸併------*/

intmergepass

(int a,

int n,

int len)

if(i+len-

1merge

(a,i,i+len-

1,n);}

/*----歸併排序------*/

void

mergesort

(int a,

int n)

}/*歸併排序的遞迴實現*/

void

mergesortdc

(int a,

int low,

int high)

}int

main()

#include

"slnklist.h"

#define n 500000

/*n為資料量大小,因data1.txt中只有50萬個數,所以自行設定n值時需讓n<=500000*/

struct node2

;/*請將本函式補充完整,並進行測試*/

void

radixsort

(linklist head)

else

//佇列不為空

p=head->next;

}//收集

r=head;

//r為鏈尾指標

for(j=

0;j<

10;j++)}

r->next=

null;}

}int

main()

資料結構C語言版(李雲清)實驗7 二叉樹

include bintree.h char a abc d e f 擴充二叉樹序樹t的前序序列 函式preorder1 的功能是非遞迴前序遍歷二叉樹t,請將函式補充完整並除錯執行 void preorder1 bintree t else intmain include bintree.h cha...

資料結構(C語言版)

用棧實現數字的進製轉換 10轉8 棧 限定只能在表尾進行插入或者刪除操作的線性表 特點 先進後出 儲存表示方法 順序棧和鏈棧 本文用的順序棧 實現 readonly name code class c include include define stack init size 100 儲存空間初始...

《資料結構(C語言版)》綜述

第一章 緒論 將於4月20日學習完畢,含課後題以及資料練習題 1.1什麼是資料結構 1.2基本概念和術語 1.3抽象資料結構型別的表示與實現 1.4演算法和演算法分析 1.4.1演算法 1.4.2演算法設計的要求 1.4.3演算法效率的度量 第二章 線性表 2.1線性表的型別定義 2.2線性表的順序...