知識點總結報告 1 26

2022-05-15 08:00:01 字數 2734 閱讀 4795

知識點:排序

在c語言中,對一組資料進行排序有多種方法:交換排序、選擇排序、氣泡排序、插入排序、希爾排序、歸併排序、以及快速排序等

其中氣泡排序和交換排序比較簡單,交換排序是又是選擇排序的基礎。以下這個例子包含幾種排序方法,以對分數降序排序為背景,使用鍊錶,順便填補對鍊錶中資料排序的空白。

1 #include 2 #include 

3 #include 4

struct

link5;

9void displaynode(int *pdata,int

n);10

11void exchangesort(int n,int *pdata);

12void selectionsort(int n,int *pdata);

13void bubblesort(int n,int *pdata);

14void instersort(int n,int *pdata);

15void shellsore(int n,int *pdata);

16void quicksort(int n,int *pdata);

17int

main()

1830

displaynode(pdata,n);

31//

exchangesort(n,pdata);

32//

selectionsort(n,pdata);

33//

bubblesort(n,pdata);

34//

instersort(n,pdata);

35//

shellsore(n,pdata);

36quicksort(n,pdata);

37displaynode(pdata,n);

38return0;

39}4041

4253

if(head==null)

5460

else

6167 pr->next=p;

68 p->data=score;

69 p->next=null;

70 pdata[i]=p->data;71}

72return

head;73}

7475

void displaynode(int *pdata,int

n)76

82 printf("\n"

);83}84

85void exchangesort(int n,int *pdata)

8698

}99 printf("

\nexchange times:%d\n

",count);

100}

101102

void selectionsort(int n,int *pdata)

103113

if(i!=k)

114120

}121 printf("

selection times %d\n

",count);

122}

123124

void bubblesort(int n,int *pdata)

125137

}138

}139

}140

141void instersort(int n,int *pdata)

142154

else

155158

}159

}160

}161

162void shellsore(int n,int *pdata)

163180

else

181184

}185

}186

}187

}188

}189

190void quicksort(int n,int *pdata)

191206 temp=pdata[i];

207 pdata[i]=pdata[j];

208 pdata[j]=temp;

209}

210quicksort(i,pdata);

211 quicksort(n-i,pdata+i);

212 }

題目:知識點:插入排序

分析:因為這道題給出的一組數已經排好序了,只需按公升序排序插入乙個數,所以插入的時候乙個迴圈就可以,很簡單。

題解:

1 #include 2 #include 3

void display(int arr,int

m);4

intmain()5;

8int

m,n;

9while(scanf("

%d %d

",&m,&n) !=eof)

1018

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

1926

else

2730}31

for(j=0;j)

3235 printf("%d"

,arr[m]);

36 printf("\n"

);37}38

return0;

39 }

但注意輸出格式,否則很容易"presentation error".

知識點總結報告 2 3

知識點 列舉 列舉 enumeration 是c的基礎資料結構之一不是構造資料結構,即一一枚舉之意。在列舉思想就是把有限個可能全部列舉出來。列舉法的本質就是從所有候選答案中去搜尋正確的解,使用該演算法需要滿足兩個條件 1 可預先確定候選答案的數量 2 候選答案的範圍在求解之前必須有乙個確定的集合。列...

知識點總結報告 1 22

知識點 棧,棧是一種c資料結構,是一種只能在表尾進行增刪操作的線性表,特點是後進入的資料先出來,最先進入的資料最後出來,即filo first in last out 就像桶裝薯片一樣。棧是自己定義的結構體,有順序棧和鍊錶棧。乙個順序棧至少包含乙個陣列,乙個指向已經存入資料的頂部指標和底部指標。佇列...

知識點總結報告 1 20

素數 知識點 判斷乙個數n是素數的方法就是如果從2到sqtr n 之間沒有乙個數能整除n,那麼n就是素數。例題 分析 首先輸入乙個數n然後從n 2 m 開始往下判斷是否是素數,如果是則進一步判斷n m是否是素數,如果都是則輸出並跳出迴圈。題解 1 include 2 include 3 int is...