1.选择排序
思想:每次循环选择最小的数字,放到指定位置
void selectsort(int n, double *p) {
int i,j,min;
double temp;
for (i = 0; i < n-1; i++) {
min =i;
for (j =i+1; j < n; j++) {
if (p[min] > p[j])
min = j;
}
if (min != i) {
temp = p[min];
p[min] = p[i];
p[i] = temp;
}
}
return;
}
2.冒泡排序
思想:每次循环将最大值后移,然后再次循环
void bullddsort(int n, double *p)
{
int i,j;
double max;
for (i = 0; i < n - 1; i++)
for (j = 0; j < n - i - 1; j++)
if (p[j] > p[j + 1]) {
max = p[j];
p[j] = p[j + 1];
p[j + 1] = max;
}
return;
}
3.插入排序
思想:每次循环与前面已经排列好的数列进行比较,插入相应位置
void insertsort(int n, double *p) {
int i,j;
double temp;
for (i = 1; i < n; i++) {
temp = p[i];
for (j = i; j > 0&&p[j-1]>p[j]; j--) {
p[j] = p[j - 1];
}
p[j] = temp;
}
return;
}