常見排序演算法(C語言)

2021-09-22 19:58:03 字數 945 閱讀 8292

氣泡排序:

//氣泡排序

void swap(int a,int length)}}

}

選擇排序:

//選擇排序是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。

void select_sort (int a,int length)

}if (i != k )

}}

插入排序:

// 插入排序

/* 從第乙個元素開始,該元素可以認為已經被排序;

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄;

如果該元素(已排序)大於新元素,將該元素移到下一位置;

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;

將新元素插入到該位置後;

*/void insetionsort (int a,int length)

//插入位置已經找到,立即插入

a[index] = temp;

}}

快速排序:

//快速排序: 分治思想  選擇列表中的乙個元素 作為基準元素, 其他元素都與這個元素做比較,找出小於這個基準值的值,找出大於這個基準值的值

void quick_sort(int a,int left, int right)

while (i!=j)

//i = j的時候,將 temp 填入中間位置 基數歸位

a[i] = temp;

// 遞迴呼叫 基數左邊

quick_sort(a, left, i-1);

// 遞迴呼叫 基數右邊

quick_sort(a, i+1, right);

}

C語言常見的排序演算法

1 直接插入排序 思路 將待插入的數與有序區的數從右到左依次比較。include void insort int s,int n 自定義函式isort s j 1 s 0 在確定的位置插入s i void main 2 希爾排序 include void shsort int s,int n 自定義...

常見排序演算法 C

時間複雜度o n 2 原地,穩定.void bubble sort vector int nums if flag break 如果沒有交換說明已經有序,跳出迴圈 return 時間複雜度o n 2 原地,穩定.void insert sort vector int nums nums i 1 va...

C語言實現幾種常見排序演算法

worker.c created on 2010 7 1 author panfei include void swap int x,int y 插入排序 公升序 void insertsort int arr,int size arr j 1 to insert 選擇排序 降序 void sele...