为什么我的输出结果一直有问题,这个随机值是怎么来的?
如图输数结果一直有这个东西,我单步调试的时候发现是从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;
}
冒泡排序遇到的一些问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- 十万萝卜兔 2017-10-15 05:30关注
for (j = 0; j <= len -1- i; j++) 这个for循环不对,arr[j + 1]超限了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报