資料結構中排序演算法

2022-08-21 05:51:04 字數 1483 閱讀 8300

#include<>

#define maxlen 20

typedef int keytype;

typedef char infotype[10];

typedef structrectype;

void insersort(rectype r,int n)r[j+1]=temp; //在j+1處插入iprintf(" i=%d ",i);

//輸出每一趟的排序結果

for(k=0;kprintf(" %3d",r[k].key);

printf("\n");

}}void shellsort(rectype r ,int n)printf(" d=%d: ",d);

//輸出每一趟的排序結果

for(k=0;kprintf(" %3d",r[k].key);

printf("\n");

d=d/2;

}}void bubblesort(rectype r, int n)}void quicksort(rectype r,int s,int t)

r[i]=temp;

printf(" i=%d ",i);

for(k=0;k<10;k++)

if(k==i)

printf("[%d]",r[k].key);

else

printf("%4d",r[k].key);

printf("\n");

quicksort(r,s,i-1);

quicksort(r,i+1,t);

}}void selectsort(rectype r,int n )}void main();

keytype a=;

rectype r[maxlen];

for(i=0;i r[i].key=a[i];

printf("\n");

//printf("直接插入排序演算法:\n");

//printf("希爾排序演算法:\n");

//printf("氣泡排序演算法:\n");

//printf("快速排序演算法:\n");

printf("直接選擇排序演算法:\n");

printf("\n");

printf("初始關鍵詞");

//輸出初始關鍵詞序列

for(k=0;k printf(" %3d",r[k].key);

printf("\n");

//insersort(r,n);

//shellsort(r,n);

//bubblesort(r,n);

//quicksort(r,0,n-1)

selectsort(r,n);

printf("最後結果 ");

//輸出初始關鍵詞序列

for(k=0;k printf(" %3d",r[k].key);

printf("\n\n");}

資料結構演算法排序總結

姓名 周燕學號 1204012032 班級 12計本 2 班 這個學期在老師的帶領下我們學習了資料結構與演算法這門課程。在本次資料結構與演算法的學習中最令我深刻的是關於幾種排序演算法的學習,所以在這裡我想對我本學期所學習的這幾種排序演算法做乙個比較詳細的總結。首先我們要對排序有乙個了解,排序是將乙個...

Merge sort等各種資料結構排序演算法

資料局結構 排序演算法 一 複習要點 排序是使用最頻繁的一類演算法。排序分內排序與外排序。內排序演算法主要分5大類,有12個演算法。在插入排序類中討論了直接插入排序 二分法插入排序 表插入排序和shell排序演算法 在交換排序類中討論了起泡排序和快速排序演算法 在選擇排序類中討論了簡單選擇排序 錦標...

資料結構實驗 排序

排序實驗 常用排序方法實現 實驗目的 1 熟悉常用的內部排序方法 插入排序 選擇排序 交換排序 基數排序和歸併排序 2 通過實驗,掌握排序的思路和方法,並能分析常用的排序方法的時間複雜度和穩定性。實驗要求 1 在vc 或tc環境下實現基本功能 2 先完成基本功能,基本功能為必做內容,有多餘時間的同學...

演算法與資料結構

演算法 是按部就班地解決某個問題的方法,是對特定問題求解步驟的一種描述。偽碼語言是一種包括高階程式語言的3種基本控制結構 順序 選擇和迴圈 和自然語言成分的 物件導向 的語言。演算法的特徵 1 可行性 一是演算法中的每個步驟必須是能實現的 二是演算法執行的結果要能達到預期的目的。2 確定性 演算法的...

資料結構與演算法

課程設計報告 目錄一 問題描述1 二 資料結構1 三 演算法設計思想及流程圖1 四 源程式2 五 測試情況6 參考文獻6 一 問題描述 計算表示式的值 問題描述 對於給定的乙個表示式,表示式中可以包括常數 算術執行符和括號,編寫程式計算表示式的值。基本要求 從鍵盤輸入乙個正確的中綴表示式,將中綴表示...