#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void quicksort(vector <int>&data, int low, int high); //快速排序
void Order(vector <int>&data)
{
//bublesort(data);
int count, low, high;
count=data.size();
low=0;
high=count-1;
quicksort(data, low, high);
}
int partition(vector <int>&data, int low, int high)
{
int pos, i, j;
int temp=data[i];
do{
while((data[j]>temp)&&(i <j))
j--;
if(i <j) data[i++]=data[j];
while((data[i] <temp)&&i <j)
i++;
if(i <j) data[j--]=data[i];
}while(i!=j);
data[i]=temp;
return(i);
}
void quicksort(vector <int>&data, int low, int high)
{
int pos;
if(low <high)
{
pos=partition(data, low, high);
quicksort(data, low, pos-1);
quicksort(data, pos+1, high);
}
}
void main()
{
vector <int>data;
ifstream in("c:\\data.txt");
if(!in)
{
cout <<"打开文件失败!" <<endl;
exit(1);
}
while(!in.eof())
{
int temp;
in>>temp;
data.push_back(temp);
}
in.close();
Order(data);
ofstream out("c:\\result.txt");
if(!out)
{
cout <<"打开文件失败!" <<endl;
exit(1);
}
int i;
for(i=0; i <data.size(); i++)
{
out <<data[i] <<" ";
}
out.close();
}
#include <fstream>
#include <vector>
using namespace std;
void quicksort(vector <int>&data, int low, int high); //快速排序
void Order(vector <int>&data)
{
//bublesort(data);
int count, low, high;
count=data.size();
low=0;
high=count-1;
quicksort(data, low, high);
}
int partition(vector <int>&data, int low, int high)
{
int pos, i, j;
int temp=data[i];
do{
while((data[j]>temp)&&(i <j))
j--;
if(i <j) data[i++]=data[j];
while((data[i] <temp)&&i <j)
i++;
if(i <j) data[j--]=data[i];
}while(i!=j);
data[i]=temp;
return(i);
}
void quicksort(vector <int>&data, int low, int high)
{
int pos;
if(low <high)
{
pos=partition(data, low, high);
quicksort(data, low, pos-1);
quicksort(data, pos+1, high);
}
}
void main()
{
vector <int>data;
ifstream in("c:\\data.txt");
if(!in)
{
cout <<"打开文件失败!" <<endl;
exit(1);
}
while(!in.eof())
{
int temp;
in>>temp;
data.push_back(temp);
}
in.close();
Order(data);
ofstream out("c:\\result.txt");
if(!out)
{
cout <<"打开文件失败!" <<endl;
exit(1);
}
int i;
for(i=0; i <data.size(); i++)
{
out <<data[i] <<" ";
}
out.close();
}