Sort-20191304商苏赫

Sort

  • 用man sort 查看sort的帮助文档
  • sort常用选项有哪些,都有什么功能?提交相关使用的截图
  • 如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用

Linux下用man查看

sort常用功能

  • --help 显示帮助。
  • -b 忽略每行前面开始出的空格字符。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -g 排序时,忽略大小。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -u 意味着是唯一的(unique),输出的结果是去完重了的。
  • -o将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t指定排序时所用的栏位分隔字符。
  • --version 显示版本信息

实践使用


文本内容:

输出结果:

sort实现构想,伪代码

首先写一个filesize函数来获取文件大小,filesize可以用fseek(p,0,SEEK_SET);和fseek(p,0,SEEK_END);获取大小。sort函数里面,利用fopen()打开文件,用fgetc()读取文件内容,然后循环将内容放入数组,然后进行排序,最后使用case对各个参数进行不同的设置形成不同的输出。

int filesize()
{
    ***
    int begin = ftell(p);
    fseek(p,0,SEEK_END);
    int end = ftell(p);
    int size = end - begin; //获取文件大小
    return size;
}
int sort()
{
    ***
    fopen
    fgetc
    while(){
            将内容循环放入数组。
            }
    case对参数进行判断
     ***
}


int main()
{
    ***
    scanf("%s",file);
    int s=size(file);
    sort(file,s);
}

posted @ 2021-09-28 00:20  20191304商苏赫  阅读(9)  评论(0编辑  收藏  举报
Live2D