自虐不对玩法

找位置

http://www.nowcoder.com/questionTerminal/e3b2cc44aa9b4851bdca89dd79c53150

////////////////////////////////////////////////////////////////////////////////////////////////////
//自虐玩法    256个ASCII挨个遍历,用上了队列!!!!自杀式玩法,答案缺个排序
////////////////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <cstdio>
// #include <algorithm>
#include <string>
// #include <cstring>
#include <queue>

using namespace std;

const int MAXSIZE = 256;
// const int length = 100;
// int number[MAXSIZE];
// const int MAXSIZE = 100;

// struct ALPHA{
//     char str1;
//     int pos[MAXSIZE];
//     int number;
// };

struct ALPHA
{
    char str1;
//     int pos[length];
    int number;
    queue<int> pos;
};

ALPHA alpha[MAXSIZE];

int main()
{
    string str;                        //sting str;不是数组;一个串,是一个文件;放里边
    while(getline(cin,str))
    {
//         int j[length];
//         memset(j,0,length);
        for(int i=0; i<str.size(); ++i)
        {
//             number[i]++;
//             number[str[i]-' ']++;
            alpha[str[i]].str1=str[i];
            alpha[str[i]].number++;
//             alpha[str[i]].pos[++j[str[i]]]=i;
            alpha[str[i]].pos.push(i);

        }
//         for(int i=0; i<MAXSIZE; ++i)
//         {
//             printf("%d ",alpha[i].number);
//         }
//         memset(j,0,MAXSIZE);
        for(int i=0; i<MAXSIZE; ++i)
        {
            if(alpha[i].number>1)
            {
                for(int p=0; p<alpha[i].number; ++p)
                {
                    printf("%c:%d",alpha[i].str1,alpha[i].pos.front());//front是访问队头,不删除!!!!!
                    alpha[i].pos.pop();//这个才是删除队头呢!!!!!!!!!!!!!
//                     printf("%c:",alpha[i].str1);
                    if(p!=alpha[i].number-1)
                    {
                        printf(",");
                    }else{
                        printf("\n");
                    }
                }
            }

        }
    }
}
//     while(getline(cin,str)){

//         for(int i=0;i<str.size();++i){
//             printf("\n");
//         }

//         int i;

//         if(alpha[i].number>1){
//             for(int j=0;j<alpha[i].number;++j){
//             printf("%c:%d",alpha[i].str1,alpha[i].pos);
//                 if(j==alpha[i].number-1){
//                     printf(",");
//                 }
//         }
//         }
//     }
// }
//             printf("%d ",number[i]);
全部评论

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
和蔼:在竞争中脱颖而出,厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务