C語言排序演算法

2021-10-24 12:41:53 字數 1928 閱讀 8656

1、直接插入排序*

#include

void

insertsort

(int arr,

int n)

arr[j+1]

=arr[0]

;}}int

main

(void

)printf

("原始順序:\n");

for(i=

1;i<=

10;i++

)insertsort

(arr,10)

;printf

("\n插入排序後的順序:\n");

for(i=

1;i<=

10;i++

)printf

("\n");

return0;

}

2、 折半插入排序

#include

void

binsertsort

(int arr,

int n)

for(j=i-

1;j>=low;j--

)//記錄依次後移

arr[j+1]

=arr[j]

; arr[low]

=x;}

}int

main

(void);

printf

("原始資料為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

binsertsort

(arr,10)

;printf

("\n折半插入排序後的順序為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

return0;

}

3、 希爾排序

#include

void

shellsort

(int arr,

int n)

arr[j+delta]

=temp;}}

}int

main

(void);

printf

("原始資料為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

shellsort

(arr,10)

;printf

("\n希爾排序後的順序為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

return0;

}

4、氣泡排序

#include

void

bubblesort

(int arr,

int n)}}

}int

main

(void);

printf

("原始資料為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

bubblesort

(arr,10)

;printf

("\n氣泡排序後的順序為:\n");

for(i=

0;i<

10;i++

)printf

("\n");

return0;

}

c語言排序演算法

很多朋友是以譚浩強老師編的 c語言教程 作為學習 c語言的入門教程的。書中涉及排序問題一般都以 冒泡法 和 選擇法 實現。為了擴大視野,增加學習程式設計的興趣,我參閱了有關書籍,整理了幾種排序法,寫出來同大家共勉。高手們不要笑,這篇文章是寫給出學者的,而且我自己也是只菜鳥,雖然內容陳舊,但值得初學者...

c語言排序演算法

c語言排序演算法 非穩定的排序演算法 選擇排序 快速排序 希爾排序 堆排序 穩定的排序演算法 氣泡排序 插入排序 歸併排序和基數排序是穩定的排序演算法。讓我們先定義乙個整型陣列a n 下面用五種方法對其從小到大排序。1 冒泡法 冒泡法大家都較熟悉。其原理為從a 0 開始,依次將其和後面的元素比較,若...

C語言排序演算法

1.插入排序 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將新...