1.冒泡算法
简单定义:大数下沉,小数起泡
代码实现:
#include <stdio.h>
void funcScort(int arr[],int len){
for (int i = 0; i< len - 1; i++) {
for(int j = 0 ;j<len -1-i;j++ ){
if (arr[j]>arr[j+1]) {
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
int a[10] = {1,23,5,89,53,33,98,75,64,48};
//排序
funcScort(a, 10);
//打印
for (int i = 0; i<10; i++) {
printf("%d\t",a[i]);
}
return 0;
}
输出结果:
1 5 23 33 48 53 64 75 89 98
每次把未查找部分的最小的数放在前面。
代码如下
#include <stdio.h>
void selectSort(int arr[],int len){
for (int i=0; i<len-1; i++) {
for (int j = i+1; j<len; j++) {
if (arr[i]>arr[j]) {
int temp;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main(int argc, const char * argv[]) {
// insert code here...
int a[10] = {1,23,5,89,53,33,98,75,64,48};
//排序
selectSort(a, 10);
//打印
for (int i = 0; i<10; i++) {
printf("%d\t",a[i]);
}
return 0;
}
输出结果:
1 5 23 33 48 53 64 75 89 98