UVA (10815) Andy's First Dictionary

来源:互联网 发布:集装箱运输软件 编辑:程序博客网 时间:2024/05/27 16:42

题意:

给文本单词排序。

拿这题重新学习了QSORT 知道了当初查了好多遍的qsort 和sort 可以实现不同的东西。

qsort 可以对字符串进行排序。然而sort好像是不可以。

qsort传参

qsort(数组名,数组长度,数组中每个元素大小,compare);     compare函数的写法决定了排序是升序
sort: 只是对于一个数组内的排序
对于二维数组的行排序还需要用qsort
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>using namespace std;int cmp(const void* t1, const void* t2){    char *a = (char*)t1;    char *b = (char*)t2;    return strcmp(a, b);}char word[50005][205];using namespace std;int main(){    char c,tmp[205];    int i=0,j=0;    while((c=getchar())!=EOF)    {        if(!isalpha(c))        {            if(j>0)            {                tmp[j]='\0';                strcpy(word[i],tmp);                i++;            }            j=0;        }        else        {            tmp[j]=tolower(c);            j++;        }    }    int num=i-1;    qsort(word,num+1,205,cmp);    for(i=0;i<=num;i++)    {        if(strcmp(word[i],word[i+1])==0)            continue;        puts(word[i]);    }    return 0;}


0 0
原创粉丝点击