简单选择排序
void selectsort() {
for (int i = 1; i <= n; i++) { //进行n趟操作
int k = i; //k为最小元素的下标
for (int j = i; j <= n; j++) { //选出[i,n]中最小的元素,下标为k
if (A[j] < A[k]) {
k = j;
}
}
int temp = A[i];
A[i] = A[k];
A[k] = temp;
}
}
插入排序
int A[maxn], n; //n为元素个数,数组下标为1-n
void insertsort() {
for (int i = 2; i <= n; i++) { //进行n-1趟排序
int temp = A[i], j = i; //temp临时存放A[i],j从i开始往前枚举
while (j > 1 && temp < A[j - 1]) { //只要temp小于前一个元素A[j-1}
A[j] = A[j - 1]; //把A[j-1]后移一位至A[j]
j--;
}
A[j] == temp; //插入位置为j
}
}