zoukankan      html  css  js  c++  java
  • POJ1007 关于STL排序方法 动态数组的创建 和向量的使用

    尽量用向量 数组不好用

    #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;
    }

  • 相关阅读:
    flask和tornado的区别
    tornado1
    人脸识别
    ocr:img转成pdf,pdf转成pdf
    flask2
    《个人-GIT使用方法》
    课后作业-阅读任务-阅读笔记
    课后作业-阅读任务-阅读提问
    结对-四则运算生成器-设计文档
    团队-手机备忘录-开发环境搭建过程
  • 原文地址:https://www.cnblogs.com/xinsheng/p/2002954.html
Copyright © 2011-2022 走看看