实验7:Problem H: STL——字符串排序

Description

对N个字符串排序。

0<N<=50000。每个字符串长度不超过50000,所有字符串长度总和不超过1000000。

Input

第一行读入N。

后面N行,每行一个字符串(只包含字母)。

Output

输出共N行,按字典序从小到大输出。

Sample Input

5 bcdef qwer tyuiphdjf asdfghjklzzzz z

Sample Output

asdfghjklzzzz bcdef qwer tyuiphdjf z

HINT

用STL的string容易解决。

Append Code

#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    int n;

    string a;
    vector<string> s;
    vector<string>::iterator p;
    cin>>n;
    s.clear();
    while(n--)
    {
        cin>>a;
        s.push_back(a);
    }
    sort(s.begin(),s.end());
    for(p=s.begin();p!=s.end();p++)
    {
        cout<<*p<<endl;
    }
    return 0;
}
时间: 2024-11-05 12:25:21

实验7:Problem H: STL——字符串排序的相关文章

Problem H: STL——括号匹配

Description 给出一堆括号,看其是否匹配,例如 ().()().(()) 这样的括号就匹配, )(.)()) 而这样的括号就不匹配 Input 每一行代表一组测试样例,每组测试样例只包含'('和')',样例长度不超过100个字符 Output 如果所有的括号都匹配,那么输出YES,否则输出NO Sample Input () )( Sample Output YES NO HINT 使用STL的stack容易实现. #include <iostream> #include <a

实验7:Problem A: STL——灵活的线性表

Home Web Board ProblemSet Standing Status Statistics Problem A: STL——灵活的线性表 Problem A: STL——灵活的线性表 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2986  Solved: 1092[Submit][Status][Web Board] Description 数组和链表是我们熟知的两种线性结构,但是它们不够灵活(不能同时实现直接插入.删除和访问操作)

ZCMU Problem H: Crixalis&#39;s Equipment(贪心,排序)

#include<stdio.h> #include<stdlib.h> struct node { int a,b; }c[1002]; int cmpxy(const struct node *c,const struct node *d) { return (d->b - d->a) - (c->b - c->a); } int main() { int n,i,v,t,flag; // freopen("a.txt","

实验12:Problem H: 整型数组运算符重载

Home Web Board ProblemSet Standing Status Statistics Problem H: 整型数组运算符重载 Problem H: 整型数组运算符重载 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 643  Solved: 401[Submit][Status][Web Board] Description 定义Array类: 1.拥有数据成员int length和int *mems,分别是数组中元素的个数和元

九度OJ 1066 字符串排序

题目1066:字符串排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4919 解决:1983 题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果 输入: 一个字符串,其长度n<=20 输出: 输入样例可能有多组,对于每组测试样例, 按照ASCII码的大小对输入的字符串从小到大进行排序,输出排序后的结果 样例输入: dcba 样例输出: abcd #include<stdio.h> #include<

Openjudge-计算概论(A)-字符串排序

描述 参考整数排序方法,设计一种为字符串排序的算法,将字符串从小到大输出 输入 第一行为测试数据组数t, 后面跟着t组数据.每组数据第一行是n,表示这组数据有n行字符串,接下来是要排序的n行字符串.每行字符串的字符个数不会大于200, n < 100. 输出 对于每组数据,输出排好序的字符串,每组输出后要多输出一个空行 样例输入 2 2 Hello World 4 I Love C Language! 样例输出 Hello World C I Language! Love思路:这题可以把它们全部

gets()、puts()函数。字符串函数。字符串排序的例子。

1.实例程序:string.c的程序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include<stdio.h> #define MSG "YOU MUST have many talents .tell me some." #define LIM 5 #define LINELEN 81 int main() { char name[LINELEN]; char

关于字符串排序合并的问题

今天遇到了一个问题,题目大意是输入两个字符串,然后给这两个字符串按照ASCII码从小到大进行排序,最后在将两个字符串合并,要求删除其中相同的字符.一开始的时候感觉挺简单的一道题,但是做起来还是小毛病挺多的.还是直接看代码吧,代码里面的注释有许多需要注意的地方. 1 #include<stdio.h> 2 #include<string.h> 3 void sort(char *p) //给字符串排序,参数为字符串首地址 4 { 5 char temp; 6 char *head,*

51 nod 1097 拼成最小的数 思路:字符串排序

题目: 思路:1.以字符串输入这些整数. 2.对这些字符串排序,排序规则为尽量让能让结果变小的靠前. 代码中有注释,不懂的欢迎在博客中评论问我. 代码: #include <bits\stdc++.h> using namespace std; string a[10001]; //比较规则:尽量让结果字符串最小 bool cmp(string a,string b){ return a+b <= b+a; } int main(){ int n; cin >> n; for