POJ1007 关于STL排序方法 动态数组的创建 和向量的使用
2011-04-02 09:42
549 查看
尽量用向量 数组不好用
#include<iostream>
#include<string>
#include <algorithm>
#include<vector>
using namespace std;
class SeqString
{
int seq;
string str;
public :
SeqString(string &str1)
{
str=str1;
}
SeqString()
{
}
int getMeasure()
{
int count=0;
for(int i=0;i<str.length();i++)
{
for(int j=i;j<str.length();j++)
{
if(str[i]>str[j])count++;
}
}
seq=count;
return count;
}
void setStr(string str1)
{
str=str1;
seq=getMeasure();
}
int getSeq()
{
return getMeasure();
}
string getString()
{
return str;
}
};
bool compare(SeqString &left,SeqString &right){return left.getSeq()<right.getSeq();}//compare 接口
void output(SeqString seq[],int n)
{
for(int i=0;i<n;i++)
cout<<seq[i].getString()<<endl;
};
int main()
{
int times,length;
string str;
cin>>length>>times;
SeqString *seq=new SeqString[times];//动态的创建数组
for(int i=0;i<times;i++)
{
cin>>str;
seq[i].setStr(str);
// cout<<seq[i].getSeq()<<endl;
}//数据都已存入数据结构中 如何排序
//output(seq,times);
vector<SeqString> myvector (seq,seq+times);//向量和数组之间的转换
sort(myvector.begin(),myvector.end(),compare);//排序方法s
for(int i=0;i<times;i++)
{
cout<<myvector[i].getString()<<endl;
}
/*
string input;
cin>>input;
SeqString seqstr(input);
cout<<input<<endl;
cout<<seqstr.getSeq()<<endl;
*/
system("PAUSE");
return 0;
}
#include<iostream>
#include<string>
#include <algorithm>
#include<vector>
using namespace std;
class SeqString
{
int seq;
string str;
public :
SeqString(string &str1)
{
str=str1;
}
SeqString()
{
}
int getMeasure()
{
int count=0;
for(int i=0;i<str.length();i++)
{
for(int j=i;j<str.length();j++)
{
if(str[i]>str[j])count++;
}
}
seq=count;
return count;
}
void setStr(string str1)
{
str=str1;
seq=getMeasure();
}
int getSeq()
{
return getMeasure();
}
string getString()
{
return str;
}
};
bool compare(SeqString &left,SeqString &right){return left.getSeq()<right.getSeq();}//compare 接口
void output(SeqString seq[],int n)
{
for(int i=0;i<n;i++)
cout<<seq[i].getString()<<endl;
};
int main()
{
int times,length;
string str;
cin>>length>>times;
SeqString *seq=new SeqString[times];//动态的创建数组
for(int i=0;i<times;i++)
{
cin>>str;
seq[i].setStr(str);
// cout<<seq[i].getSeq()<<endl;
}//数据都已存入数据结构中 如何排序
//output(seq,times);
vector<SeqString> myvector (seq,seq+times);//向量和数组之间的转换
sort(myvector.begin(),myvector.end(),compare);//排序方法s
for(int i=0;i<times;i++)
{
cout<<myvector[i].getString()<<endl;
}
/*
string input;
cin>>input;
SeqString seqstr(input);
cout<<input<<endl;
cout<<seqstr.getSeq()<<endl;
*/
system("PAUSE");
return 0;
}
相关文章推荐
- (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)
- (使用STL自带的排序功能进行排序7.3.7)POJ 2726 Holiday Hotel(结构体排序)
- (使用STL自带的排序函数进行排序7.3.6)POJ 2945 Find the Clones拷贝相同次数的文本出现了多少次()
- 关于level创建不同行数的使用方法
- 关于MAC上使用pycharm进行创建project的方法
- 关于SQL视图的创建和使用方法
- 关于serialPort控件的使用跟INI文件的创建,读取,写入方法
- 关于使用CreateUserWinzard控件创建用户时出现连接数据库问题的解决方法
- (STL自带的排序功能的使用7.1.2)POJ 2388 Who's in the Middle(sort()函数的使用)
- (使用STL自带的排序功能进行排序7.3.2)POJ 2092 Grandpa is Famous(结构体排序)
- (使用STL自带的排序功能进行排序)POJ 1877 Flooded!()
- C++ STL 有关于SET集合部分 的自定义数据类型的排序 以及 pair的使用
- 关于oracle和sqlserver中创建uuid的方法以及级联查询的使用
- 关于C++中vector和set使用sort方法进行排序
- 关于本地yum源的创建方法和使用
- 使用静态工厂方法创建连接池(关于代理和包装的使用)
- C++ 关于STL中sort()对struct排序的方法
- 关于git中使用gitignore创建过滤规则的使用方法
- 关于SQL视图的创建和使用方法
- 关于利用STL中的sort算法对向量等容器进行排序的问题