我覺得我對冒泡排序有點困惑。但我的主要問題是將命令行參數轉換爲典型數組,而不是argv。在命令行參數上使用冒泡排序C++
我在想通過循環遍歷argv
我可以puch.back到一個向量然後使用我的氣泡排序函數它向量。
我想從命令行中從A到Z順序,然後從Z到A順序進行排序。
任何與我的代碼的幫助,不勝感激。 請添加評論,以便我更好地理解爲什麼這對我來說很困難。
謝謝!
#include <cstdlib>
#include <iostream>
#include <vector>
void swap(int [], int, int);
void bubble_sort(std::string args[], int);
void bubbleSort(std::string args[], int n) {
bool swapped = true;
int j = 0;
std::string tmp;
while (swapped) {
swapped = false;
j++;
for (int i = 0; i < n - j; i++) {
if (args[i] > args[i + 1]) {
tmp = args[i];
args[i] = args[i + 1];
args[i + 1] = tmp;
swapped = true;
}
}
}
}
int main(int argc, char * argv[])
{
std::vector<std::string> args(argv, argv + argc);
for (int i = 0; i < argc; i++)
{
args.push_back(argv[i]);
}
long vector_size = args.size();
bubble_sort(args,vector_size);
return 0;
}
請解釋下投票,我將編輯我的問題。謝謝。 – wuno 2014-11-25 07:04:57
我們不是編譯器。你已經發布了預期的行爲,但你還必須發佈你得到的結果(編譯器錯誤,錯誤的輸出等)。 – bolov 2014-11-25 07:46:06