一、插入排序
1.1直接插入排序
1.冒泡排序
void main(){
int p[12]={12,11,14,2,5,78,6,99,5,45,66,78};
int n=12;
bubble(p,n);
}//main
int bubble(int p[12], int n){//n数组的长度
//冒泡排序法
int i, j, temp;//t
for (i = 1; i < n; i++){
for (j = 0; j < n-1; j++){
if (p[j]>p[j + 1]){
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}//if
}//for
}//for
for (j = 0; j < 12; j++){
printf("%d\n",p[j]);
}//for
return 0;
}//bubble
2.选择排序
(1)简单选择排序
void main(){
int p[12]={12,11,14,2,5,78,6,99,5,45,66,78};
int n=12;
select(p,n);
}//main
//选择排序法
int select(int p[12], int n){
int i, j, index;
int temp;//暂存数据
for (i = 0; i < n - 1; i++){
index = i;
for (j = i+1; j < n; j++){//重点
if (p[j]>p[index]){//遍历最大值下标
index = j;
}//if
}//for
if(index != i){
temp = p[i];
p[i] = p[index];
p[index] = temp;
}//if
}//for
for (j = 0; j < n; j++){
printf("%d\n",p[j]);
}//for
}
(2)堆排序