zoukankan      html  css  js  c++  java
  • sort

    用man sort 查看sort的帮助文档

    sort常用选项有哪些,都有什么功能?

    • 语法: sort [option] [file(s) ]

    • 用途:将输入行按照键值字段与数据类型选项以及locale 排序

    • 主要选项:

    -b 忽略开头的空白

    -c 检查输入是否已正确排序,如输入未经排序,但退出码(exit code)为非零值,则不会有任何输出

    -d 字典顺序:仅文字数字与空白才有意义

    -g 一般数值:以浮点数字类型比较字段。这个选项的运作有点类似 -n.差别仅在于这个选项的数字可能有小数点及指数。(仅GNU版本提供此功能)

    -f 以不管字母大小写的方式排序

    -i 忽略无法打印的字符

    -k 定义排序键值字段(该选项后接一个字段编号,或则是一对数字。有时-k之后可用空白分隔。每个编号后都可以接一个点号的字符位置,及/ 或 修饰符(modifier)字母之一

    .且当出现多个-k选项时候,会先从第一个键值开始排序,找出匹配该键值的记录后,再进行第二个键值字段的排序,以此类推。)
    

    -m 将以排除的输入文件,合并为一个排序后的输出数据流。

    -n 以整数类型比较字段

    -o outfile 将输入写到指定文件,而非标准输出。如果该文件为输入文件之一,则sort 在进行配需与写到输入文件之前,会先将它复制到一个临时文件

    -r 倒置排序的顺序为 由大至小(descending),而非默认的由小至大(ascending)

    -t char 使用单个字符char作为默认的字段分割字符,取代默认的空白字符。

    -u 只有唯一的记录,丢弃所有具有相同键值的记录,只留其中的第一条。只有键值字段是重要的,也就是说:被丢弃的记录其他部分可能是不同值。

    如果让你编写sort,你怎么实现?写出伪代码和相关的函数或系统调用

    利用read函数读取文件,文件格式应为姓名、学号、成绩、身高,每个元素占八个字节,每行只有一个人的数据。读取后每个换行符前按八字节分割为四块,分别赋给数组a1[]的0123四个变量,遇到下一个换行符,重复操作,赋给a2[]数组。用户通过输入123分别按学号、成绩、身高大小排序,输入1即利用快速排序方法通过比较a1[1],a2[1]等值的大小将数组整体进行排序,伪代码为:

    for(i=1;i<输入行数;i++){
    for(j=2;j<=输入行数;j++){
    if(ai[k]>aj[k]){ (k为用户输入1、2、3、、)
    交换ai[]与ak[]的位置
    }
    }
    }
    将结果利用write函数写入文件再读取此文件即可。

  • 相关阅读:
    Codeforces 765 E. Tree Folding
    Codeforces 617 E. XOR and Favorite Number
    2017.3.4[hihocoder#1403]后缀数组一·重复旋律
    2017.2.23[hdu1814]Peaceful Commission(2-SAT)
    2017.2.18Codeforces Round #398 (Div. 2)
    2017.2.18[codevs1170]NOIP2008提高组复赛T4双栈排序
    2017.2.18[codevs3319][bzoj3670]NOI2014D2T1动物园
    2017.2.18[codevs3311][bzoj3668]NOI2014D1T1起床困难综合症
    2017.2.10 Splay总结
    2017.2.10考试总结2017冬令营
  • 原文地址:https://www.cnblogs.com/1208499954qzone/p/15345195.html
Copyright © 2011-2022 走看看