小生自然卷 2017-10-15 04:00 采纳率: 100%
浏览 1465
已采纳

冒泡排序遇到的一些问题

为什么我的输出结果一直有问题,这个随机值是怎么来的?
如图输数结果一直有这个东西,我单步调试的时候发现是从i那边出现的,但是我已经给i赋过初始值了呀,求解大神指点一二
#include
using namespace std;
void BubbleSort(int arr,int len)
{
int i, j,temp;
int flag = 0;//
for (i = 0; i <= len-1; i++)
for (j = 0; j <= len -1- i; j++)
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = 1;
}
//判断标志位是否为0,如果为0,说明后面的元素已经有序,就直接return
if (flag == 0)
{
return;
}
}
int main()
{
int i = 0;
/*int n=7;
int arr[7];
cout << "Input number:";
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
cout << endl;
/
int arr[7] = { 1,23,5,8,12,4,3 };
cout << "初始序列为:";
for (i = 0; i < 7; i++) {
cout << arr[i] << " ";
}
cout << endl;
BubbleSort(arr, 7);
cout << "冒泡排序后的顺序为:";
for (int i = 0; i<7; i++) {
cout << arr[i] <<" ";
}
cout << endl;
system("pause");
return 0;
}

  • 写回答

8条回答 默认 最新

  • 十万萝卜兔 2017-10-15 05:30
    关注

    for (j = 0; j <= len -1- i; j++) 这个for循环不对,arr[j + 1]超限了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统