zoukankan      html  css  js  c++  java
  • Sort

    Sort

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

    1. 用man sort 查看sort的帮助文档

    输入

    man sort

     

    2. sort常用选项有哪些,都有什么功能?提交相关使用的截图

    sort常用选型

    建立一个test.txt文件,并且输入数据,通过cat命令查看文件内容

    使用sort test.txt命令

    结果如上图,sort默认先根据第一个分割域(首字母)对文件内容进行排列。

     

    -t选项

    -t可以指定分隔域

    sort -tX XXXX

    第一个x为分隔域的标志,xxxx为文件名。

     

    -k选项

    -k选项用于指定域进行排序。

    sort -kX XXXX

    第一个x为第几个域,xxxx为文件名。

    下图将分隔域的标志设置为:,后根据第二个域进行排序

     

    -r选项

    -r选项用于指定域进行逆序排列

     

    -o选项

    -o选项用于将排序的结果写入到另一个文件中。

    sort -o XXXX1 XXXX2

    注意:要写入的文件放在原排序文件的前面,放反会将原排序文件覆盖。font>

    -c选项

    检验是否有序

    一个无序的序列直接排序后检验是不行的,进行完写入文件之后再进行检验顺序才能得到正确结果:

     

    -m选项

    -m选项用于将两个排好序的文件合并成一个排好序的文件,但这两个文件必须是有序的

    先更改一下刚才的两个文件

     

     

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

    #include <stdio.h>
    #define MAXN 100
    sort(int a[],int n);

    int main(){
    int a[MAXN],n,i;
         printf("please input the size of array:");
        scanf("%d",&n);
        for(i=0;i<n;i++){
           scanf("%d",&a[i]);
      }
       sort(a,n);
       for(i=0;i<n;i++){
            printf("%d ",a[i]);
        }
        return 0;

    }
    sort(int a[],int n){
          int i,j;
         for(i=0;i<n-1;i++){
             for(j=0;j<n-i-1;j++){
                 if(a[j]>a[i+1])
                {
                     int tmp = a[j];
                     a[j]=a[j+1];
     
                     a[j+1]=tmp;
                  }
              }
        }
    }

    个人编程能力有限,只能实现简单的排序方法,但是根据网上查找的资料,我认为这个程序如果基于C语言的话需通过读取字符判断当前是否为分隔符,读取文件,对数组调用qsort函数进行排序。

     

    可参考博文:linux内核中的排序接口--sort函数-阿里云开发者社区 (aliyun.com)

  • 相关阅读:
    python爬虫requests json与字典对象互相转换
    python爬虫requests的使用
    Django 使用celery任务队列的配置
    Django实现发邮件
    leetcode算法:Two Sum II
    Python中使用hashlib进行加密的简单使用
    leetcode算法: Average of Levels in Binary Tree
    Django中自定义过滤器的使用
    linux下git常用命令
    cocos2d-x 父节点和子节点执行不同动作
  • 原文地址:https://www.cnblogs.com/Aegon-Targaryen/p/15345786.html
Copyright © 2011-2022 走看看