CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

这个~这个冒泡 错在哪?......

楼主liegou2000(身高八尺腰围也是八尺)2005-11-07 15:03:20 在 C/C++ / 新手乐园 提问

#include   <stdio.h>  
  #define   true   1  
  #define   false   0  
   
   
  void   bubble_sort(int   a[],int   n)  
  {   int   i,j,change,t;  
    {   for   (i=1,change=true;   i<n   &&   change;   i++)  
        change   =   false;  
        {   for   (j=1;   j<=n-j;   j++)  
            if   (a[j]   >   a[j+1])  
              {   t   =   a[j];  
                a[j]   =   a[j+1];  
                a[j+1]   =   t;  
                change=true;  
              }  
        }  
    }    
  }  
   
   
  main()  
   
  {   int   i;  
      int   a[]={8,4,5,2,1,9,6,3,7,0};  
      bubble_sort   (a,10);  
      for   (   i=0;   i<10   ;i++)  
      printf(   "%d",   a[i]);  
  }  
   
   
  错在哪了?  
  谢谢 问题点数:20、回复次数:7Top

1 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-07 15:09:10 得分 20

修改后的程序:  
   
  #include   <stdio.h>  
  #define   true   1  
  #define   false   0  
   
   
  void   bubble_sort(int   a[],int   n)  
  {  
  int   i,j,change,t;  
  for(i=1,change=true;   i<n   &&   change;   ++i)  
  {  
  change   =   false;  
  for   (j=0;   j<n-i;   ++j)  
  if   (a[j]   >   a[j+1])  
  {  
  t   =   a[j];  
  a[j]   =   a[j+1];  
  a[j+1]   =   t;  
  change=true;  
  }  
  }    
  }  
   
   
  int   main()  
  {  
  int   i;  
  int   a[]={8,4,5,2,1,9,6,3,7,0};  
  bubble_sort   (a,10);  
  for   (   i=0;   i<10   ;i++)  
  printf(   "%d",   a[i]);  
  return   0;  
  }  
  Top

2 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-07 15:10:12 得分 0

楼主的代码注意语句结构和数据访问界限的问题.Top

3 楼liegou2000(身高八尺腰围也是八尺)回复于 2005-11-07 16:06:41 得分 0

哦.....  
  a[j]   是0开始的  
  还有  
  关于for里面的自加  
  for(i=0;i<10;i++)和for(i=0;i<10;++i)  
  没搞的很清楚  
  一直以为i++和++i在没有赋值的情况下都是一样  
  还请点解!Top

4 楼xiaocai0001(高楼目尽欲黄昏/梧桐叶上萧萧雨)回复于 2005-11-07 16:42:34 得分 0

在此for循环中i++与++i是一样的。  
  可以不用考虑这个方面的差异。Top

5 楼liegou2000(身高八尺腰围也是八尺)回复于 2005-11-07 16:47:50 得分 0

谢谢,结贴.Top

6 楼jiangabc(看贴不回)回复于 2005-11-07 17:35:28 得分 0

还有一点,请注意书写风格。  
  还有一点:  
  {   for   (i=1,change=true;   i<n   &&   change;   i++)  
        change   =   false;  
   
  。。。。。。。。。。。。。。。。。。。。。。。  
  写代码的时候要细心点。  
  for   (i=1,change=true;   i<n   &&   change;   i++)  
  {  
        change   =   false;  
  Top

7 楼liegou2000(身高八尺腰围也是八尺)回复于 2005-11-08 09:30:13 得分 0

呵呵,那确实,没注意.   谢谢楼上的.Top

相关问题

  • 链表的冒泡排序,实在不知道错在哪儿了
  • 【在线等!】被这个冒泡法给郁闷了,为什么得到不同的答案呢??
  • "冒泡排序"这个名字做何解释啊?
  • 高手帮我看一下这个事件冒泡的问题
  • 如何在系统托盘区实现冒泡提示?
  • 请问在JDK1.4中如何实现事件冒泡?
  • 如何在存储过程中实现冒泡排序
  • 冒泡排序!
  • 冒泡&散分
  • 我写的冒泡排序,出错了,但是我找不出那错:( HELP!

关键词

  • bubble
  • change
  • sort
  • define
  • true

得分解答快速导航

  • 帖主:liegou2000
  • xiaocai0001

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo