冒泡排序实现一组数 正序和倒序排列
程序员文章站
2022-03-01 22:17:21
...
#include <stdio.h>
#define N 10 //预定义一个N ,值为10
int main() {
int a[]={14,38,46,23,77,6,95,62,42,10}; //定义一维数组,将值给出
int i,j,t; //i代表轮,j代表次,t中间变量将前后值大小交换
for(i=0;i<N-1;i++) { //外循环从第0轮开始,到N-1轮结束。
for(j=0;j<N-i-1;j++) //内循环 ,上一轮的次数-1;
if(a[j]>a[j+1]) // 如果前面的数比后面大,就交换。
{ t=a[j]; //先把前面的数给t
a[j]=a[j+1]; //然后把后面的数送到空的前面中
a[j+1]=t; //最后再把前面的数送到空的后面中
}
}
printf("排序后的数字:\n");
for(i=0;i<N;i++) { //遍历输出这个a[j]的值
printf("%d\t",a[i]);
}
for(i=0;i<N-1;i++) {
for(j=0;j<N-i-1;j++)
if(a[j]<a[j+1]) //将其倒序后输出
{ t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf("\n倒序后的数字:\n");
for(i=0;i<N;i++) { //遍历输出这个a[j]的值
printf("%d\t",a[i]);
}
return 0;
}
上一篇: 冒泡排序-(正序,倒序)
下一篇: PHP 冒泡排序-正序