小明在快递超市工作,他需要将所有商品按照从小到大的顺序排列
使用方法:冒泡排序
冒泡排序就是从序列第一个元素开始,依次对相邻元素进行比较,若前一个元素大于后一个元素则交换它们的数值,如果前一个元素等于或小于后一个元素则不交换数值。这样的操作直到比较到最后一个元素才结束。当这一次操作完成后这个序列的最大元素就放在了最后面的位置。若有n个元素,则需进行n-1趟,令j为第几趟,则每一趟比较次数为n-j。在该过程中小的元素被移动到序列的前面,如同水中的气泡上浮。
实现代码如下:
#include<stdio.h>
int main(){
int n,i,j,t;
printf("Please enter how many packages there are:");
scanf("%d",&n);
int a[n];
printf("\n");
printf("Please enter the serial numbers of all the packages:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("\n");
printf("Sort them in ascending order:");
for(j=1;j<n-1;j++){
for(i=0;i<n-j;i++){
if(a[i]>a[i+1]){
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
for(i=0;i<n;i++){
printf("%6d",a[i]);
}
return 0;
}