讀取一個檔案然後將檔案中的資料排序然後輸出到另外一個檔案中(氣泡排序)
阿新 • • 發佈:2019-02-13
#include <iostream> #include <fstream> #include <vector> using namespace std ; void Order(vector<int>& data) { int count = data.size() ; int tag = false ;//設定標誌,如果要是有序的,只需比較一趟,就可以了提高了效率 for (int i = 0 ; i < count; ++i) { for (int j = 0 ; j < count - i - 1; ++j) { if (data[j] > data[j + 1]) { tag = true ; int temp ; temp = data[j] ; data[j] = data[j + 1] ; data[j + 1] = temp ; } } if (!tag) break ; } } int main() { vector<int> data ; ifstream in("c:\\data.txt") ; if (!in) { cout << "file error" ; exit(1) ; } int temp ; while(!in.eof()) { in>>temp ; data.push_back(temp) ; } in.close() ; Order(data) ; ofstream out ("c:\\result.txt") ; if (!out) { cout << "file error" ; exit(1) ; } for (int i = 0 ; i < data.size() ; ++i) out << data[i] << " " ; out.close() ; system("pause") ; return 0 ; }