+ -
当前位置:首页 → 问答吧 → 大家帮我看看这个程序有啥问题,为啥输不出正确结果呢?

大家帮我看看这个程序有啥问题,为啥输不出正确结果呢?

时间:2011-12-25

来源:互联网

源码:
C/C++ code
#include<iostream>
using namespace std;
void BubbleSort( int* a,int size)
{    for(int i=0;i<size;i++)
       for(int j=0;j<size-i;j++)
          if(a[j]<a[j+1])
              {int temp=a[j];
                   a[j]=a[j+1];
                   a[j+1]=temp;}
               }                                      
int main(void)
{   int data[]={1,4,3,2,5,6,7}; 
    int l=sizeof(data)/sizeof(int);
    BubbleSort(data,l); 
    for(int k=0;k<l;k++)
    cout<<data[k]<<" "<<endl;
    return 1;
}

输出结果为:
134514713 








------------------
(program exited with code: 0)
Press return to continue



作者: opponent2012   发布时间: 2011-12-25

嘿嘿,被我发现了j的边界不对。应是j<size-i-1

作者: opponent2012   发布时间: 2011-12-25