[브리지 컵 블루] 접미사 정렬 문자열

문제 설명

Description
문자열을, 문자열 접미어, 예를 들면, 그레인 정렬
: 서브 스트링있다
그레인
비가
AIN가

N-
각 서브 대해, 즉 다음 전적으로 문자열 정렬을 :
AIN, 곡물, N-에, 빗물
Input
의 입력 세트의 복수 각각의 입력 라인 스트링.
Output
소트 출력, 각 라인 문자열 부분 문자열
Sample Input
그레인
바나나
Sample Output
AIN
그레인

N-
ANA의 아냐 나 바나나 나나





사고 문제

  1. 각 문자열은 먼저 구축 한 다음 분류
  • 참조하지 않도록주의 #include <algorithm>또는 메모리가 폭발
  • 입력 불확실한 세트의 복수의 표기 while(cin >> i)나 숫자 또는 문자열이 될 수

특정 코드

#include <iostream>
// 不要轻易引用这个内存会爆炸的
// #include <algorithm>
using namespace std;

int main()
{
    string i;
    int head=0;
    while(cin>>i){
        string data[1000];
        head = 0;
        for(int k=0;k<i.length();k++){
            data[head++] = i.substr(head,i.length());
        }
        for(int k=head;k>=0;k--){
            for(int k2=head;k2>0;k2--){
                if(data[k2]>data[k2-1]){
                    string temp = data[k2];
                    data[k2] = data[k2-1];
                    data[k2-1] = temp;
                }
            }
        }
        for(int k=head-1;k>=0;k--){
            cout << data[k] << endl;
        }
    }
    return 0;
}
게시 31 개 원래 기사 · 원의 찬양 (13) · 전망 9873

추천

출처blog.csdn.net/qq_43497702/article/details/104046311