選擇排序 插入排序 氣泡排序
許久在考慮資料結構演算法用什麼語言最好實現,哈哈,忽然發現自己是在想乙個可傻的問題。資料結構本身就是一種解決問題方法的科學,是一種思維,用什麼工具都可以實現,對各種語言的內在思想不強調。
複習了下簡單的排序方法,演算法思想。
選擇排序的物件分作兩部分,乙個是已經排好的,乙個是為排好的,每一次排序從後面的為排好的選擇乙個最小值,放在前面已經排好的最後面。
插入排序可以把資料分為兩部分,
每步將乙個待排序的物件,按其關鍵碼大小,
插入到前面已經排好序的一組物件的適當位置上
,直到物件全部插入為止。
氣泡排序就是每次最大的元素如同氣泡一樣移動至右邊,這樣最大的元素會不斷的都會移動向右邊。
下面為c程式實現:
#include
#include
#include
#define max 10
#define swap(x,y)
void selsort(int);
void insort(int);
void bubsort(int);
int main(void)
;int i;
printf("**********************************************\n");
srand(time(null)); //產生不同的隨機數種子
printf("排序前:");
for(i= 1;i<=max;i++)
printf("\n請選擇排序方式:\n");
printf("(1)選擇排序 (2)插入排序 (3)氣泡排序\n (0)退出\n");
scanf("%d",&i);
switch(i)
return 0;
}void selsort( int number) //選擇排序
main();
}
void bubsort(int number) //氣泡排序
{int i, j, k, flag = 1;
for(i = 0;i
if(number[j+1]
printf("第%d次排序:",i+1);
for(k=0;k
選擇排序實現:
插入排序實現:
氣泡排序實現:
排序 簡單排序
氣泡排序 函式名 bubble sort 功能 實現公升序排序 引數 帶排序的陣列,陣列的長度 返回值 為空 描述 時間複雜度為o n 2 輔助空間為o 1 有一種變形的氣泡排序 雞尾酒排序,它是雙向的氣泡排序,時間複雜度也為o n 2 void bubble sort int bubble,int...
排序 簡單排序
一 氣泡排序 源 void bubble sort int array,int size array if flag 0 break 二 插入排序 原理 從第二個元素開始向前比較判斷,如果比前乙個元素小,則前乙個元素往後移動一位,直到第乙個元素或者前面條件不成立,將該元素插入當前位置。源 void ...
簡單排序 選擇排序
package cnic.cn.impl public class selectionsort change array out swap value array out array max array max change output for int i 0 i 9 i 選擇排序的效率問題 選擇...