• 算法初步——哈希表B1043输出PATest


    #include <bits/stdc++.h>
    #include<math.h>
    #include <string>
    using namespace std;
    const int MAX_LEN = 10005;
    char str[MAX_LEN];
    int hashTable[30] = {0};
    int main(){
        cin>>str;
        int len = strlen(str);
        int count = 0;
        //map<char,int> result;
        for(int i =0;i<len;++i){
            if(str[i] == 'P' || str[i] == 'A' || str[i] == 'T' || str[i] == 'e' || str[i] == 's' || str[i] == 't'){
                count++;
            }
        }
        map<char,int> result;
        //vector<char> result[count];
        for(int i =0;i<len;++i){
            if(str[i] == 'P' || str[i] == 'A' || str[i] == 'T' || str[i] == 'e' || str[i] == 's' || str[i] == 't'){
                result[str[i]]++;
            }
        }
        map<char,int>::iterator iter;
        /*while(count != 0){
            
        }*/
        /*for(iter = result.begin();iter != result.end();iter++){
            if(iter->)
        }*/
        for(int i =0;i<count;++i){
            //map<char,int>::iterator iter;
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 'P' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 'A' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 'T' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 'e' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 's' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
            iter = result.begin();
            for(;iter != result.end();++iter){
                if(iter->first == 't' && iter->second > 0){
                    cout<<iter->first;
                    iter->second--;
                    break;
                }
            }
    
        }
        system("pause");
        return 0;
    }
  • 相关阅读:
    阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_10-webpack研究-安装nodejs
    ES6深入浅出-1 新版变量声明:let 和 const-2.视频 let和const
    ES6深入浅出_汇总贴
    ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述
    数据类型及其空间大小,vs2012实测
    linux cmd
    常见英文地址表达方法
    网络基础
    VMware三种链接方式
    Source Insight使用技巧
  • 原文地址:https://www.cnblogs.com/JasonPeng1/p/12161128.html
Copyright © 2020-2023  润新知