首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

菜鸟自写冒泡排序求解答

2012-10-16 
初学者自写冒泡排序求解答C/C++ code#include iostream using namespace stdint main(){int a[]{9,4,

初学者自写冒泡排序求解答

C/C++ code
#include <iostream > using namespace std;int main(){int a[]={9,4,5,0,1,7,2,6,8,3}; int i,j;int len=sizeof(a)/sizeof(int); //求数组长度A:int count=0;for(i=0;i<=len;i++) //排序开始{if(a[i]>a[i+1]){int temp;temp=a[i];a[i]=a[i+1];a[i+1]=temp;count++;}}if (count!=0) //判断是否排列好goto A;for(j=0;j<=len;j++) //输出排列好的数组cout<<a[j]<<" ";cout<<endl;system("pause");return 0;}

输出结果发现多了一个"2"!!!如图.换了好几组数据都出现一个"2",,请问是什么原因??? 


[解决办法]
C/C++ code
for(j=0;j<=len;j++) //输出排列好的数组
[解决办法]
for(i=0;i<=len;i++) 
{

if(a[i]>a[i+1]) //当i=len-1和len时, a[i+1]数组越界了, a[len]里面是什么呢??
{
int temp;
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
count++;
}

for(j=0;j<=len;j++) //输出排列好的数组 ,0到len一共是len+1个数
cout<<a[j]<<" ";

最好不要用goto。

热点排行