Я использую g ++ -std = C++ 11 Sort.cpp для компиляции моего файла.C++ vector bubble sort
Моя проблема в том, что сортировка пузыря не сортируется.
Может быть, я передаю вектор по значению, но я не знаю, насколько мне нравится время работы с C++, и я выбрал использование векторной библиотеки.
Мой код:
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int> a);
void printVector(vector<int> a);
int main(int argc, char const *argv[])
{
vector<int> a{3,2,6,1};
printVector(a);
bubbleSort(a);
printVector(a);
}
void bubbleSort(vector<int> a)
{
bool swapp = true;
while(swapp)
{
swapp = false;
for (int i = 0; i < a.size()-1; i++)
{
if (a[i]>a[i+1])
{
a[i] += a[i+1];
a[i+1] = a[i] - a[i+1];
a[i] -=a[i+1];
swapp = true;
}
}
}
}
void printVector(vector<int> a)
{
for (int i=0; i <a.size(); i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
В основном я объявляю вектор типа INT и сделать список {3,2,6,1}
После этого е вызовите функцию printVector
Wich претендует на печать всех номеров вектора на консоли и вызывает функцию bubbleSort
и, наконец, печатает снова.
Пропустите вектор по ссылке: 'недействительным BubbleSort (вектор & а)' –
Помимо: умные трюки обменивать, скорее всего, больно, чем помочь в эти дни. – Hurkyl