順序表與鍊錶

2022-11-21 04:36:03 字數 1201 閱讀 7388

#include<>

#include<>

typedef int rectype;

//二路歸併排序

void merge(rectype *r,int low,int m,int high)

void mergesort(rectype r,int low,int high)

}// 希爾排序

//void sort(int v,int n)

////}

//}//}

//快速排序

void quick_sort(int data,int low,int high) }

int partition(int data,int low,int high)

data[low]=data[high]; /* 從high的位置開始往low的方向找,找到比data[low]小的元素,存到data[low]中 */

while((low < high) && (data[low] < mid)) /* 新得到的data[low]肯定小於原來的data[low]即mid */

data[high]=data[low]; /* 從low的位置開始往high的方向找,找到比data[high]大的元素,存在data[high]中 */

}data[low]=data[0]; /* 把low的新位置存上原來的data[low]的資料 */

return low; /* 遞迴時,把它做為右側元素的low */

} //堆排序

void heapadjust(int data,int s,int m) /* 排列成堆的形式 */

data[s]=rc; /* 相當於data[j]=rc */

}void heap_sort(int data,int long_n) /* 堆排序函式 */

for(i=long_n;i>0;--i)

}void main()

;//這裡對8個元素進行排序

int low=0,high=7;

for(int i=low;i<=7;i++)

printf("%d ",a[i]);

mergesort(a,low,high);

printf("二路歸併排序法:\n");

for(i=low;i<=high;i++)

printf("%d ",a[i]);//二路歸併排序法

printf("\n");}

鍊錶 譚浩強

可以設計這樣乙個結構體 struct student 請注意 上面只是定義了struct student 型別,並未實際分配儲存空間,只有定義了變數才分配記憶體單元 下面請看乙個簡單鍊錶 靜態鍊錶 來幫助我們理解鍊錶的定義 建立乙個靜態鍊錶,它由3個學生資料的節點組成,並輸出各節點的資料。inclu...

順序表基本演算法

2011 2012學年第一學期 合肥學院數理系 實驗報告 課程名稱 資料結構與演算法 實驗專案順序表基本演算法 實驗類別 綜合性 設計性 驗證性 專業班級 數學與應用數學1班 姓名 江騰騰學號 0907021043 實驗地點 7棟503 實驗時間 2011.11.9 指導教師 李旭成績 一.實驗目的...

歷史朝代順序表

朝代夏商 周秦 漢西漢 東漢魏 三國蜀吳 西晉東晉十六國 東晉十六國 宋 南朝齊梁陳北魏東魏北齊西魏北周 隋唐後梁後唐 五代十國 後晉後漢後周十國 宋北宋南宋 遼西夏西周東周 都城安邑亳鎬京洛邑咸陽長安洛陽洛陽成都建業洛陽建康 建康建康建康建康平城洛陽鄴鄴長安長安大興長安汴洛陽汴汴汴 開封臨安皇都 ...