这三种排序算法时间复杂度均是O()
- 插入排序
/**
* 插入排序
* 对大致有序的数据进行排序性能很好
*/
void insertSort(int arr[], int n){
for(int i = 1 ; i < n; i++){
int e = arr[i];
int j;
for(j = i ; j > n && a[j-1] > e ; j--)
arr[j] = arr[j-1];
arr[j] = e;
}
}
- 选择排序
/**
* 选择排序
*/
void selectSort(int arr[], int n){
for(int i = 0 ; i < n ; i++){
int minIndex = i;
for(int j = i + 1 ; j < n ; j++)
if(arr[j] < arr[minIndex])
minIndex = j;
swap(arr[j], arr[minIndex]);
}
}
- 冒泡排序
/**
*冒泡排序
*/
viod bubbleSort(int a[], int n){
int flag = 1;
int m = n-1;
while(m>0 && flag == 1) {
flag = 0;
for(int i = 0;i < m;i++){
if(a[i] > a[i+1]) {
flag = 1;
int t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
}
m--;
}