三種排序演算法及三種變數交換的巨集實現

2021-03-31 23:30:13 字數 1430 閱讀 8220

1、快速排序

#include

#include

#include

#define

n 100

#define

swap(x,y)/

intpartition(int a,int l,int r);

void

quick_sort(int a,int l,int r);

intmain(int argc,char *argv)

void

quick_sort(int a,int l,int r)

intpartition(int a,int l,int r)

swap(a[i],a[r]);

return i;

}2、氣泡排序

#include

#include

#include

#define

n 100

#define

swap(a, b)

intmain()

printf("after sorted:/n");

for(i=0;i

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

printf("/n");

system("pause");

return 0;

}3、選擇排序

#include

#include

#include

#define

n 100

#define

swap(x,y,t) ((t)=(x),(x)=(y),(y)=(t))

inta[n],n=0;

void

sort_a();

void

p_a();

intmain()

else

printf("before sorted:/n");

p_a();

sort_a();

printf("after sorted/n");

p_a();

system("pause");

return 0;

}void

p_a()

void

sort_a()

if(min!=i)

swap(a[min],a[i],temp);}}

簡單測試結果:

how many int numbers?

613      7       19      5       29      31

before sorted:

13      7       19      5       29      31

after sorted

5       7       13      19      29      31

請按任意鍵繼續. . .

交換變數的三種方式

1 藉助中間量交換 開發常用 int x 10 int y 20 int temp x x y y temp 此種方法可以將中間量看成空杯,即把temp看成是空杯,把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子 int temp x 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯 x y 把...

交換倆種變數的三種方式

public class exchange 因為main方法是個static方法所以設計的方法也要用static修飾 private static void changevariable01 int a,int b private static void changevariable02 int a...

三種常見的排序演算法

剛開始的時候也聽過學長說什麼什麼排序之類的,到剛聽得時候是各種姿勢懵逼啊,學習了一段時間的c語言之後,才有點明白所謂的排序是什麼,現在就來羅列一下三種常用的排序法氣泡排序法,插入排序法和選擇排序法。氣泡排序啊,這是我聽過最多的一個排序方法了,他的基本思想也比較簡單,就是不斷比較相鄰的兩個數,讓較小的...

三種簡單的排序演算法

基本思想 它重複地走訪過要排序的元素,依次比較相鄰兩個元素,如果他們的順序錯誤就把他們調換過來,直到沒有元素再需要交換,排序完成。過程如下 比較相鄰的元素,如果前一個比後一個大,就把它們兩個調換位置。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對...

常見的三種排序演算法

常見的三種排序演算法 氣泡排序,選擇排序,插入排序 氣泡排序 穩定 重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。兩兩比較 intmain for i 0 i1 i 決定裡面的迴圈迴...