码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2016-12-20 00:46:00      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:++   排序   方法   include   i++   问题   数组   stdio.h   main   

for(int k=0;k<N;k++) {
  for(int j=k+1;j<N;j++){
    if(a[k]>a[j]){
      int t = a[k];
      a[k] = a[j];
      a[j] = t;
    }
  }
}

当k=N-1时,内部程序循环了0次,说明未走到内部的数值交换处理中,下面代码【带实例】中的方法解决了此问题,个人比较喜欢用下面这种。

#include<stdio.h>
int main(){
int data[10]={-100, 79, -3, 0, 49, 21, 8, 200, 12341, 0};
printf("数组原序为:");
for(int i=0;i<10;i++){
printf("%5d",data[i]);
}
printf("\n\n冒泡升序为:");
for(int i=0;i<10-1;i++){
for(int j=0;j<10-1-i;j++){
if(data[j]>data[j+1]){
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
for(int i=0;i<10;i++){
printf("%5d",data[i]);
}
}

冒泡排序

标签:++   排序   方法   include   i++   问题   数组   stdio.h   main   

原文地址:http://www.cnblogs.com/panweiwei/p/6201006.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!