c语言简单选择对字符串数组排序,简单了解C语言中直接插入排序与直接选择排序实现...
直接插入排序基本思路:
1. 從a[0]開始,也就是從1個元素開始是有序的,a[1]~a[n-1]是無序的。
2. 從a[1]開始并入前面有序的數組,直到n-1。
#include
#define N 5
void insertsort(int a[], int n);
void swap(int *x, int *y);
void insertsort(int a[], int n){
int i,j;
for(i=1; i
for(j=i; j>0 && a[j]
swap(&a[j], &a[j-1]);
}
}
}
void swap(int *x, int *y){
int i = *x;
*x = *y;
*y = i;
}
int main(void){
int a[N] = {2, 5, 3, 1, 8};
insertsort(a, N);
int i;
for(i=0; i
printf("%d ", a[i]);
return 0;
}
直接選擇排序
基本思路:
1. 從1開始通過對比找出最小的數的下標。然后把這個下標的值和0交換。
2. 循環把值交換到1 2 3 ... n-1。
#include
#define N 5
void selectsort(int a[], int n);
void swap(int *x, int *y);
void selectsort(int a[], int n){
int i,j;
for(i=0; i
int min = i;
for(j=i+1; j
if(a[j] < a[min]){
min = j;
}
}
swap(&a[i], &a[min]);
}
}
void swap(int *x, int *y){
int i = *x;
*x = *y;
*y = i;
}
int main(void){
int a[N] = {2, 5, 3, 1, 8};
selectsort(a, N);
int i;
for(i=0; i
printf("%d ", a[i]);
return 0;
}
總結
以上是生活随笔為你收集整理的c语言简单选择对字符串数组排序,简单了解C语言中直接插入排序与直接选择排序实现...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 共享文件原理_fishhook 的实现原
- 下一篇: js微信监听返回_JS监听微信、支付宝等