[英]My bubble sort code with vector in c++
我试图用C ++编写一个冒泡排序程序。 用户应随机输入一些数字,然后算法应从最小到最大对数字进行排序。 但是,每次我键入一些数字时,最大值似乎都是零(0)。 我试图调试我的代码,但找不到问题。 这是我的代码:
编辑:感谢您的答复家伙=)
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;
int tal;
cout <<"Write some number"<<endl;
while(cin>>tal){
v.push_back(tal);
}
for(int a=0; a<v.size(); a++){
cout<<v[a]<<endl; //Checking for my inputs
}
bool change=true;
// vector<int> v = {1,2,5,6,3,4,10};
while(change){
change=false;
for(int i=0; i<v.size(); i++){
if (v[i]>v[i+1]){
swap(v[i], v[i+1]);
change=true;
}
}
}
cout << "----------" << endl;
for (int j=0; j<v.size(); j++){
cout << v[j] << endl; //Checking my sorting results
}
}
提前致谢!
v[i]>v[i+1]
,这里i+1
可能是v.size()
,那么您正在访问向量的边界
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.