选择排序
时间复杂度O(n*n),基本思想是每轮找出未排序部分中的最值
从小到大排序版本
// 假设数组为A[n]
for(int i = 0;i < n-1;i++){
int k = i;
for(int j = i+1;j < n;j++){
if(A[k] > A[j])
k = j;
}
int temp = A[i];
A[i] = A[k];
A[k] = temp;
}
冒泡排序
时间复杂度是O(n*n),基本思想是每轮将未排序部分最值移到首或尾
从小到大版本
// 假设数组为A[n]
for(int i = 1;i <= n;i++){
for(int j = 0;j < n-i;j++){
if(A[j] > A[j+1]){
int temp = A[j];
A[j] = A[j+1];
A[j+1] = temp;
}
}
}