四大排序演算法之GGBond版

2021-10-10 05:59:07 字數 1661 閱讀 5562

1.氣泡排序

2.選擇排序

3.插入排序

4.快速排序

總結上了大學後,發現排序演算法隨處可見,只要是考c語言的,總會讓你寫幾個排序演算法。為了加深我的記憶以及對排序演算法的理解,我整理了4種最容易理解的排序演算法

個人理解:排序演算法就是為任意長度的陣列由小到大排序(或者由大到小)的一種方法。

交換函式

在寫排序演算法之前,首先先定義乙個swap交換函式。

**如下

/* 定義交換函式 */

void

swap

(int

* a,

int* b)

氣泡排序無疑是最簡單的排序演算法,通過多次的交換達到排序的目的

**如下:

**如下:

/* 氣泡排序 */

void

bubblesort

(int

* arr,

int size)

選擇排序就在整個陣列元素中找到最小值然後替換到前面的方法

**如下:

**如下:

/* 選擇排序 */

void

selectionsort

(int

* arr,

int size)

}

話不多說**

**如下:

/* 插入排序 */

void

insertionsort

(int

* arr,

int size)

arr[j +1]

= flag;

/* 將flag插入到合適位置 */

}}

快速排序個人認為是這四大排序中最難的一種,但是從名字就可以知道它是最快的一種,它用到了遞迴演算法,將陣列通過幾次分段,得到最後的正序陣列

下來看**吧!

/* 快速排序 */

void

quicksort

(int

* arr,

int began,

int end)

arr[i]

= flag;

/* 將flag位置固定 */

quicksort

(arr, began, i -1)

;quicksort

(arr, i +

1, end)

;/* 將陣列分為兩段,同理遞迴 */

}}

排序演算法真的特別重要,我覺得這四種排序應該是最基礎的

大家一起加油吧!?

四大排序函式

row number over partition by clause order by filed asc desc 連續的從1開始到n的排序號 sql view plain copy rank over partition by clause order by filed asc desc 不連...

php四大排序之氣泡排序

一 氣泡排序 原理 對一組資料,比較相鄰資料的大小,將值小資料在前面,值大的資料放在後面。以下都是公升序排列,即從小到大排列 舉例說明 arr array 6,3,8,2,9,1 arr 有6個資料,按照兩兩比較大小如下,注意 比較輪數 和 每輪比較次數 第一輪排序 第一次比較 6和3比較 結果 3...

javascript常見四大排序

氣泡排序 var arr 23,34,11,22,19,18 氣泡排序的思路分析 第1輪 第1步 23,34,11,22,19,18 第1輪 第2步 23,11,34,22,19,18 第1輪 第3步 23,11,22,34,19,18 第1輪 第4步 23,11,22,19,34,18 第1輪 第...