排序在**中用的非常普遍,所以今天我們來學下最基礎的三種排序,
如果你已經爛熟於心,請跳過本文。
注:我的**一般沒有注釋,我覺得沒啥必要,都是基礎挺簡單的。
#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 當待排數列大致有序時,比較和移動的次數較少 比較後才移動,比較的少自然移動的少,移動的少比較的也...