sort

文本处理工具和正则表达式、SHELL脚本编程

断了今生、忘了曾经 提交于 2020-04-06 03:30:37
一、文本编辑工具VIM ●命令模式 --> 插入模式 i insert, 在光标所在处输入 I 在当前光标所在行的行首输入 a append, 在光标所在处后面输入 A 在当前光标所在行的行尾输入 o 在当前光标所在行的下方打开一个新行 O 在当前光标所在行的上方打开一个新行 ●插入模式 --- ESC-----> 命令模式 ●命令模式 ----:----> 扩展命令模式 ●扩展命令模式 ---ESC,enter---->命令模式 1、进入编辑界面首先为命令模式,按o键切换为插入模式,且光标切换到当前行的 下一行行首另起一行。 2、 进入编辑界面首先为命令模式,按 O键切换为插入模式,且光标切换到当前行的 上一行行首另起一行。 3、进入编辑界面首先为命令模式,按A键切换为插入模式,且光标切换到当前行的 行尾。 4、命令模式输入:r后加文件名称,可将文件内容读到当前文件中。 5、命令模式下输入:!加命令可不退出文本编辑界面执行命令,输入:r!加命令可将执行命令的输出读入到当前光标所在行。 6、命令模式下输入:set number 可显示行号。 7、命令模式下输入:2,4d,表示删除2-4行的内容,:2,4y复制2-4行的内容,在光标所在行按p键即可粘贴内容。(p贴在当前行的后一行,P贴在当行的后一行) 8、搜索替换内容,命令模式下输入,该命令为搜索1-5行的root,将1

426. Convert Binary Search Tree to Sorted Doubly Linked List

断了今生、忘了曾经 提交于 2020-04-04 20:18:31
问题描述: Convert a BST to a sorted circular doubly-linked list in-place. Think of the left and right pointers as synonymous to the previous and next pointers in a doubly-linked list. Let's take the following BST as an example, it may help you understand the problem better: We want to transform this BST into a circular doubly linked list. Each node in a doubly linked list has a predecessor and successor. For a circular doubly linked list, the predecessor of the first element is the last element, and the successor of the last element is the first element. The figure below shows the circular doubly

C++ sort()排序函数用法

拟墨画扇 提交于 2020-03-30 12:31:14
本文转自https://blog.csdn.net/l198738655/article/details/79872738 sort(first_pointer,first_pointer+n,cmp) 该函数可以给数组,或者链表list、向量排序。 实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序。系统会根据你的数据形式和数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采用快速排序,分段递归,分段之后每一段的数据量达到一个较小值后它就不继续往下递归,而是选择插入排序,如果递归的太深,他会选择推排序。 此函数有3个参数: 参数1:第一个参数是数组的首地址,一般写上数组名就可以,因为数组名是一个指针常量。 参数2:第二个参数相对较好理解,即首地址加上数组的长度n(代表尾地址的下一地址)。 参数3:默认可以不填,如果不填sort会默认按数组升序排序。也就是1,2,3,4排序。也可以自定义一个排序函数,改排序方式为降序什么的,也就是4,3,2,1这样。 使用此函数需先包含: #include <algorithm> 并且导出命名空间: using namespace std; 简单例子:对数组A的0~n-1元素进行升序排序,只要写sort

测试萌新必备算法题之:选择排序

最后都变了- 提交于 2020-03-29 17:43:34
选择排序和冒泡排序的异同: 1、相同点:整体结构差不多 2、不同点:冒泡排序外层循环控制遍历次数,内层循环交换数据,只要满足就交换       选择排序外层循环控制遍历次数,内存循环查询最大最小值,遍历完后只做一次数据交换 下面就来具体实现: 首先随机生成一个列表: select_sort_list = [382, 273, 427, 274, 497, 209, 326, 498, 246, 79, 73, 72, 334, 490, 320, 185, 253, 43, 343, 97, 127, 312, 25, 368, 194, 76, 226, 248, 495, 126] 然后开始写选择排序的具体实现: def select_sort(sort_list): # 循环次数 for i in range(len(sort_list)-1): # 初始最小元素的索引为i min_idx = i # 遍历列表 for j in range(i+1, len(sort_list)):      # 有更小的元素,将索引给min_idx if sort_list[min_idx] > sort_list[j]: min_idx = j # 当最小元素索引发生了变化,交换数据位置 if i != min_idx: sort_list[i], sort_list[min_idx]

【leetcode】1387. Sort Integers by The Power Value

邮差的信 提交于 2020-03-29 07:32:47
题目如下: The power of an integer x is defined as the number of steps needed to transform x into 1 using the following steps: if x is even then x = x / 2 if x is odd then x = 3 * x + 1 For example, the power of x = 3 is 7 because 3 needs 7 steps to become 1 (3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> 1). Given three integers lo , hi and k . The task is to sort all integers in the interval [lo, hi] by the power value in ascending order, if two or more integers have the same power value sort them by ascending order. Return the k-th integer in the range [lo, hi] sorted by the power value. Notice

shell编程题(二十四)

为君一笑 提交于 2020-03-29 03:34:04
题目: 对于一个用户日志文件,每行记录了一个用户查询串,长度为1-255字节,共几千万行,请排出查询最多的前100条。 日志可以自己构造> 。 (提示:awk sort uniq head) 文件: zhougong wanggong ligong sungong tiangong tiangong wanggong ligong sungong tiangong tiangong wanggong zhougong wanggong ligong 答案: #!/bin/bash file=$1 awk '{print $1}' ${file} | sort | uniq -c | sort -k1nr | head -n3 运行结果: ubuntu@ubuntu:~/wangqinghe/shell/24$ ./24.sh log.txt 4 tiangong 4 wanggong 3 ligong 具体解析 https://www.cnblogs.com/wanghao-boke/p/12159706.html 来源: https://www.cnblogs.com/wanghao-boke/p/12184903.html

软件测试——java反射机制

不问归期 提交于 2020-03-28 08:23:09
软件测试中出现私有方法时,需要使用反射机制来实现代码的测试。 首先,简略说一下反射是什么~~https://www.cnblogs.com/zhaoguhong/p/6937364.html COPY——JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 其次,代码~~ 被测试类: public class MSD { private static final int BITS_PER_BYTE = 8; private static final int BITS_PER_INT = 32; // each Java int is 32 bits private static final int R = 256; // extended ASCII alphabet size private static final int CUTOFF = 15; // cutoff to insertion sort // do not instantiate private MSD() { } //private MSD(int a) { } /** * Rearranges the array of extended ASCII

Linux文件

别说谁变了你拦得住时间么 提交于 2020-03-27 23:43:02
一、文件系统 管理文件系统 文件系统日志方法: 数据模式 索引节点和文件都会被写入日志;丢失数据风险低,但性能差 有序模式 只有索引节点数据会被写入日志,但只有数据成功写入后才删除;在性能和安全性之间取得了良好的折中 回写模式 只有索引节点数据会被写入日志,但不控制文件数据何时写入;丢失数据风险高,但仍比不用日志好 操作文件系统 fdisk 创建分区——sudo fdisk /dev/sdb fdisk 命令: a 设置活动分区标志 b 编辑BSD Unix系统用的磁盘标签 c 设置DOS兼容标志 d 删除分区 l 显示可用的分区类型 m 显示命令选项 n 添加一个新分区 o 创建DOS分区表 p 显示当前分区表 q 退出,不保存更改 s 为Sun Unix系统创建一个新磁盘标签 t 修改分区的系统ID u 改变使用的存储单位 v 验证分区表 w 将分区表写入磁盘 x 高级功能 创建文件系统——sudo mkfs.ext4 /dev/sdb 创建文件系统的命令行程序: 工 具 用 途 mkefs 创建一个ext文件系统 mke2fs 创建一个ext2文件系统 mkfs.ext3 创建一个ext3文件系统 mkfs.ext4 创建一个ext4文件系统 mkreiserfs 创建一个ReiserFS文件系统 jfs_mkfs 创建一个JFS文件系统 mkfs.xfs

关于sort排序

回眸只為那壹抹淺笑 提交于 2020-03-26 02:53:47
JavaScript的数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。 arrayobj.sort(sortfunction); 参数:sortFunction 可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。 sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。 如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小。 零,如果两个参数相等。 正值,如果第一个参数比第二个参数大。 通过实际例子来了解sort函数 1.字符串排序 var fruits = [ "Banana" , "Orange" , "Apple" , "Mango" ] ; fruits. sort () ; //排序结果是Apple,Banana,Mango,Orange //若要得到结果Orange,Mango,Banana,Apple只需要将上步得到的fruits结果反转即可 fruits. reverse () ; //排序结果是Orange,Mango,Banana,Apple 2.数字排序 从小到大 var points = [ 40 , 100 , 1 , 5 , 25 , 10 ] ;

Javascript 中 Array的 sort()和 compare()方法

对着背影说爱祢 提交于 2020-03-26 02:32:23
Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字。 我们看看官方是怎么说的: arrayobj. sort( sortfunction ) 参数 arrayObj 必选项。任意 Array 对象。 sortFunction 可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。 说明 sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。 如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一: 负值,如果所传递的第一个参数比第二个参数小。 零,如果两个参数相等。 正值,如果第一个参数比第二个参数大。 <html> <head> <script type="text/javascript"> var arr = [1,3, 25];      arr.sort(); alert(arr); </script> </head> <body> </body> </html> 结果: 1,25,3 那么怎么办呢?我们可以写一个 compare() 方法 <html> <head> <script type="text