冒泡排序

将一组数据从小到大排序。

思路:

规律:N个数字来排队,两两比较小靠前;

   外层循环N-1(控制需要比较的轮数);

   内层循环N-1-i(控制每轮比较的次数,其中i为外层循环变量)。

  int nums[]={10,3,8,1,6};
   int i,j,temp;
   //外层控制比较的轮数(5个数字比较4轮) 
   for(i=0;i<4;i++){
      //内层循环控制每轮比较的次数 
         for(j=0;j<4-i;j++){
               if(nums[j]>nums[j+1]){//交换顺序 
                  temp = nums[j];//一定要是j,如果是i则只比较每一轮的第一个!!!!
                 nums[j]=nums[j+1];
                nums[j+1]=temp;
               }
         }
   }
   printf("排序后的数字为:");
   //利用循环遍历输出
   for(i=0;i<5;i++){
        printf("%d\t",nums[i]);
   }

 

posted on 2017-03-24 18:47  我是小美女  阅读(174)  评论(0编辑  收藏  举报