繁体   English   中英

我的气泡在C ++中的矢量排序代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM