冒泡排序最最最普通的写法
#include <stdio.h>
int main(){
int a[11];
int i,j,t;
int n=10;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n-1;i++){
for(j=0;j<n-1-i;j++){
if(a[j]>a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<n;i++){
printf("%-4d",a[i]);
}
return 0;
}
用指针实现
#include <stdio.h>
int main(){
int a[11],i,j,t,n=10;
int *p;
p=&a; //指向关系不能忘记
for(i=0;i<n;i++){ //用指针进行输入
scanf("%d",a+i);
}
for(i=0;i<n-1;i++){ //冒泡排序循环主体
for(j=0;j<n-i-1;j++){
if(*(p+j)>*(p+j+1)){
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
}
for(i=0;i<n;i++){ //输出
printf("%-4d",*(p+i));
}
return 0;
}