Algorlthm 簡單排序

2021-08-26 19:28:53 字數 1819 閱讀 6278

選擇排序 插入排序 氣泡排序

許久在考慮資料結構演算法用什麼語言最好實現,哈哈,忽然發現自己是在想乙個可傻的問題。資料結構本身就是一種解決問題方法的科學,是一種思維,用什麼工具都可以實現,對各種語言的內在思想不強調。

複習了下簡單的排序方法,演算法思想。

選擇排序的物件分作兩部分,乙個是已經排好的,乙個是為排好的,每一次排序從後面的為排好的選擇乙個最小值,放在前面已經排好的最後面。

插入排序可以把資料分為兩部分,

每步將乙個待排序的物件,按其關鍵碼大小,

插入到前面已經排好序的一組物件的適當位置上

,直到物件全部插入為止。

氣泡排序就是每次最大的元素如同氣泡一樣移動至右邊,這樣最大的元素會不斷的都會移動向右邊。

下面為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 選擇排序的效率問題 選擇...