问题描述
比较交换排序
代码
#include<stdio.h>
#define N 10
int main(void){
int i,j,n,t,m,k;
int a[N];
printf("请输入元素个数:");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
//比较交换排序法
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){
//a[i]与其后的所有元素比较,若a[j]<a[i],则交换
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
printf("j=%d :",j);
for(k=0;k<n;k++){
printf("%d ",a[k]);
}
printf("\n");
}
printf("第i=%d轮 :",i+1);
for(m=0;m<n;m++){
printf("%d ",a[m]);
}
printf("\n");
}
printf("排序后:\n");
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}