// L-sortfile.cpp

#include <iostream>
#include <fstream>
#include <list>
#include "vector-list-IO.h"
using namespace std;

int main () {
    ifstream input ("unsorted-data.txt");
    ofstream output ("sorted-data.txt");

    list<int> data;   // a list of all the data
    int number;       // the current number being read

    cout << "Reading input...\n";
    while (!input.eof()) { // continue reading up to end-of-file
        input >> number;
        data.push_back (number); // push on end of list
    }
    input.close();  // close input file when done with it

    cout << "Sorting data...\n";
    data.sort();    // sort the list

    cout << "Writing sorted data...\n";
//    output << data;

    list<int>::const_iterator datum;  // iterate through the list
    for (datum = data.begin();
         datum != data.end();
         datum++) {
        output << *datum << endl;     // write current list element
    }

    output.close();    // close output file when all written

    cout << "Done, min = " << data.front()
        << ", max = " << data.back() << endl;

    return 0;
}

