快速排序 分治 ①确定分界点:q[l],q[(l+r)/2],q[r] ②调整范围 ③递归处理左右两段 #include<iostream> using namespace std; const int N = 1e5+10; int n; int a[N]; void quick_sort(int ...
分类:
编程语言 时间:
2020-07-02 11:55:45
阅读次数:
58
1、使用Sort() 当T是简单类型,int,double之类的可以直接用 var a = new List<int>(); a.Add(1); a.Add(5); a.Add(4); a.Sort();//排序 2、使用LinQ a = a.OrderByDescending(i => i.Nam ...
分类:
编程语言 时间:
2020-07-02 10:41:55
阅读次数:
56
//比较字符基类大小 相同返回0,str1>str2 返回1,str1<str2 返回-1, function str_compare(str1,str2){ let index=0; let dis=0; while (dis 0&&index<str1.length){ if(str1.char ...
分类:
编程语言 时间:
2020-07-01 20:32:24
阅读次数:
61
插入、删除功能实现 /* * 使用单链表;每次插入大约需要比较N/2次; * 插入效率是O(N),删除表头元素效率是O(1) */ public class MySortQueue { // 使用单链表实现 private Entry root; private static class Entry ...
分类:
其他好文 时间:
2020-07-01 20:01:29
阅读次数:
55
稳定性:不稳定排序 1. 过程介绍 快速排序是考察次数最多的排序,无论是在大学专业课的期末考试,还是在公司的面试测试题目中,快速排序都极大的被使用,在实际中快速排序也极大的被使用,如STL中的sort底层就是一个快速排序。 首先在数组中选择一个基准点,然后分别从数组的两端扫描数组,设两个指示标志(l ...
分类:
编程语言 时间:
2020-07-01 16:03:45
阅读次数:
68
稳定性:不稳定排序 1.过程介绍 希尔排序,又名递减增量排序算法,是一种非稳定的更高效的插入排序,在对几乎已经排好序的数据操作时,效率极高,即可以达到线性排序的效率,直接插入排序整体来说是低效的,因为插入排序每次只能将数据移动一位; 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分 ...
分类:
编程语言 时间:
2020-07-01 15:47:54
阅读次数:
57
随着互联网和智能移动设备不断普及,二维码(Quick Response code)已经成为世界上应用最为广泛的信息载体之一。生成二维码的工具也层出不穷,但多数需要在线完成,并且生成的图案也千篇一律,过于单调。 那么有没有办法实现自定义生成二维码呢? 近日,一位热衷于终身学习的工程师兼摄影师 Arin ...
分类:
其他好文 时间:
2020-06-30 22:16:34
阅读次数:
84
Lambda表达式:ide //原来的匿名内部类 @Test public void test1(){ Comparator<String> com = new Comparator<String>(){ @Override public int compare(String o1, String ...
分类:
编程语言 时间:
2020-06-30 14:38:25
阅读次数:
65
Linux下获取CPU内存信息的命令 1. 获取CPU型号信息 cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c 2.获取CPU的个数(几核CPU) grep 'physical id' /proc/cpuinfo | sort | uniq ...
分类:
系统相关 时间:
2020-06-30 12:36:40
阅读次数:
112
简述一些常用算法,并用代码实现它。 注:动图是在网上找的。 (1)冒泡排序 核心思想:交换序列中相邻两个整数。 测试代码: 1 void bubble_sort(void) 2 { 3 /* 4 * 冒泡排序:以降序为例进行说明 5 * 比较相邻的元素,将值最小的元素交换到右边。 6 */ 7 in ...
分类:
编程语言 时间:
2020-06-30 00:30:44
阅读次数:
69