資料結構之基礎排序(選擇排序 插入排序 氣泡排序)

2021-09-30 11:20:51 字數 807 閱讀 3840

排序在**中用的非常普遍,所以今天我們來學下最基礎的三種排序,

如果你已經爛熟於心,請跳過本文。

注:我的**一般沒有注釋,我覺得沒啥必要,都是基礎挺簡單的。

#include #include void print(int array, int len)

printf("\n");

}void swap(int array, int i, int j)

void selectsort(int array, int len)}}

}void insertsort(int array, int len)

array[k] = temp;

}

}void bubblesort(int array, int len)

}    

}     

}int main(int argc, char *ar**)

;

int len = sizeof(a) / sizeof(int);

print(a, len);

//selectsort(a, len);

insertsort(a, len);

//bubblesort(a, len);

print(a, len);

system("pause");

return 0;

}

不管是選擇排序還是插入排序還是氣泡排序,時間複雜度都是o(n^2),

在一些對演算法要求比較高的場合,就不是很適用,所以,後面我會繼續寫一些高效率的排序演算法。

資料結構 排序演算法 插入排序 選擇排序

今天我們來總結一下資料結構中各種排序演算法。資料結構排序演算法 part1 直接插入排序 思想 當插入第i i 1 個元素時,前面的array 0 array 1 array i 1 已經排好 序,此時用array i 的排序碼與array i 1 array i 2 的排序碼順序進行比較,找到插入...

java 資料結構之選擇排序和插入排序

一 選擇排序 因為氣泡排序,感覺沒必要寫,因為大家應用的基本就是它,所以我今天談談選擇排序,選擇排序屬於較為簡單的排序方法為基本應必須掌握的排序方法。選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的...

資料結構之排序 插入類排序

一.插入類排序 1.直接插入排序 待排數列初始狀態是正序,反序,無序時的時間複雜度為o n o n 2 o n 2 是穩定的排序演算法 2.二分插入排序 3.希爾排序 希爾排序優於直接插入排序。理由 1 當待排數列大致有序時,比較和移動的次數較少 比較後才移動,比較的少自然移動的少,移動的少比較的也...