sort

shell编程(1)

℡╲_俬逩灬. 提交于 2019-12-18 09:54:00
一、shell简介   1.脚本:脚本就是一些命令的堆积。   常见的脚本: JavaScript(J S ,前端) ,VBScript, ASP, JSP,PHP(后端) ,SQL(数据库操作语言),Perl, Shell ,python,Ruby,JavaFX, Lua等。   2.shell的优势:    ①Shell属于内置的脚本   ②程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)   ③语法简单,代码写起来比较轻松,简单易学   3.shell简介   Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。 下面是流程示意图: Shell 既然是工作在 Linux 内核之上,那我们也有必要了解下 Linux 相关知识。 Linux 是一套免费试用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任 务、支持多线程和多 CPU 的操作系统。 1983 年 9 月 27 日,Richard Stallman(理查德-马修-斯托曼)发起 GNU 计划,它的目标是创建一 套完全自由的操作系统。为保证 GNU 软件可以自由的使用、复制、修改和发布,所有的 GNU 软件都

java常用算法

笑着哭i 提交于 2019-12-18 03:22:19
转:http://blog.csdn.net/spy19881201/article/details/5867721   https://www.cnblogs.com/hexiaochun/archive/2012/09/03/2668324.html 一、冒泡排序 [java] view plain copy package sort.bubble; import java.util.Random; /** * 依次比较相邻的两个数,将小数放在前面,大数放在后面 * 冒泡排序,具有稳定性 * 时间复杂度为O(n^2) * 不及堆排序,快速排序O(nlogn,底数为2) * @author liangge * */ public class Main { public static void main(String[] args) { Random ran = new Random(); int[] sort = new int[ 10]; for( int i = 0 ; i < 10 ; i++){ sort[i] = ran.nextInt( 50); } System.out.print( "排序前的数组为"); for( int i : sort){ System.out.print(i+ " "); } buddleSort(sort); System.out

选择排序

空扰寡人 提交于 2019-12-18 02:37:54
选择排序 概要 本章介绍排序算法中的选择排序。 目录 1. 选择排序介绍 2. 选择排序图文说明 3. 选择排序的时间复杂度和稳定性 4. 选择排序实现 4.1 选择排序C实现 4.2 选择排序C++实现 4.3 选择排序Java实现 转载请注明出处: http://www.cnblogs.com/skywang12345/p/3597641.html 更多内容: 数据结构与算法系列 目录 选择排序介绍 选择排序(Selection sort)是一种简单直观的排序算法。 它的基本思想是:首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序图文说明 选择排序代码 /* * 选择排序 * * 参数说明: * a -- 待排序的数组 * n -- 数组的长度 */ void select_sort(int a[], int n) { int i; // 有序区的末尾位置 int j; // 无序区的起始位置 int min; // 无序区中最小元素位置 for(i=0; i<n; i++) { min=i; // 找出"a[i+1] ... a[n]"之间的最小元素,并赋值给min。 for(j=i+1; j<n; j++) { if(a

winform 分页控件,源码下载

核能气质少年 提交于 2019-12-18 02:27:05
http://files.cnblogs.com/nosnowwolf/Pager.rar 控件下载 以前都是从事B/S开发,由于公司有个比较大的C/S项目,在使用DATAGRIDVIEW的时候,显示数据量比较大,所以才用分页模式,也不知道这样是否正确。 想找个C/S下面的分页控件,都没有什么好的,就自己跟B/S下的分页控件,修改成WINFORM下面的。 首先创建一个用户控件名称为pager,在控件中拖入bindingNavigator和bindingSource,修改bindingNavigator,加入必要的一些控件。 效果如下: 代码实现如下: namespace WindowsApp.MyControl { /**/ /// <summary> /// 申明委托 /// </summary> /// <param name="e"></param> /// <returns></returns> public delegate int EventPagingHandler(EventPagingArg e); /**/ /// <summary> /// 分页控件呈现 /// </summary> public partial class Pager : UserControl { public Pager() { InitializeComponent(); }

STL中的Sort提示 invalid comparator

大城市里の小女人 提交于 2019-12-18 02:19:08
使用Sort进行排序,最后一个参数cmp函数,调用时,出现Invalid comparator错误,cmp函数如下 bool compare(Node* n1, Node* n2) { return n1->f <= n2->f; } 如果两个元素相等,必须返回false。故改成如下代码,可以通过编绎。 bool compare(Node* n1, Node* n2) { return n1->f < n2->f; } 因为_wfindnext在查找文件时,如果有文件“16.txt”和“5.txt”. 找出来的顺序是16.txt 5.txt.而不是期望的5.txt 16.txt bool sortFun(wstring s1, wstring s2) { if(s1.length()<s2.length()) return true; else return s1<s2; } vector<wstring> filelist; std::sort(filelist.begin(), filelist.end(), sortFun) 这版报错:invalid comparator 改为 bool sortFun(wstring s1, wstring s2) { return (s1.length() < s2.length() || (s1.length() <= s2

WinForm分页控件

核能气质少年 提交于 2019-12-18 00:21:30
说到数据分页,大家一定就会想到分页控件,无论是Web的或者是Winform的项目,相信很多人都会去使用分页控件,因为简单吗,可以少敲很多的代码,哈哈,我也是其中的一个,接下来 就把一个比较好的 Winform分页控件和大家分享一下. 分页控件的效果图如下: (下载地址在文章的最后)首先我们先把,下载下来的压缩包中的分页控件DLL文件夹中的WinFormPager.dll文件放到你的项目的bin文件夹下,然后在vs2008工具箱的单机鼠标右键,选择-选择项,然后选择浏览,找到你bin中的WinFormPager.dll然后确定,分页控件就添加到你的工具箱中了,接下来在你的项目上引用里右键,选择添加引用,也是浏览找到bin中的WinFormPager.dll,这一步不要忘,否则可能会找不到分页控件,好了接下来看代码吧 首先需要建一个PageData.cs的分页控件数据提供类,代码如下: 分页控件数据提供类 /// <summary> /// 分页控件数据提供类 /// </summary> public class PageData { private int _PageSize = 10; private int _PageIndex = 1; private int _PageCount = 0; private int _TotalCount = 0; private

【数据结构】【归并排序】

萝らか妹 提交于 2019-12-17 09:18:06
#include<bits/stdc++.h> using namespace std; int k,n,ans=0; int a[500100],b[500100]; void merge_sort(int l,int r) { if(l==r)return ;//一个数不用排 int m=(l+r)>>1; merge_sort(l,m); merge_sort(m+1,r); int i=l,j=m+1,k=0;//i左边最小位置,j右边最小位置 while(i<=m&&j<=r) if(a[i]<=a[j])b[++k]=a[i++]; else ans+=m-i+1,b[++k]=a[j++];//加入右半段时,逆序对数增加 while(i<=m)b[++k]=a[i++];//加入左边剩余的数 while(j<=r)b[++k]=a[j++];//加入右边剩余的数 for(i=1; i<=k; i++)a[l+i-1]=b[i]; } int main() { scanf("%d",&n); for(int i=1; i<=n; i++) scanf("%d",&a[i]); merge_sort(1,n); for(int i=1;i<=n;i++) printf("%d ",b[i]); return 0; } 来源: CSDN 作者: 狠人王 链接: https:

linux-网络监控命令-netstat进阶

 ̄綄美尐妖づ 提交于 2019-12-17 08:38:04
2.网络连接状态详解 共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN./* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2)、 SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT./*The socket is actively attempting to establish a connection. 在发送连接请求后等待匹配的连接请求 */ 3)、 SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */ 4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接

java.util.ComparableTimSort中的sort()方法简单分析

青春壹個敷衍的年華 提交于 2019-12-17 05:59:33
TimSort算法是一种起源于归并排序和插入排序的混合排序算法,设计初衷是为了在真实世界中的各种数据中可以有较好的性能。该算法最初是由Tim Peters于2002年在Python语言中提出的。 TimSort 是一个归并排序做了大量优化的版本。对归并排序排在已经反向排好序的输入时表现O(n2)的特点做了特别优化。对已经正向排好序的输入减少回溯。对两种情况混合(一会升序,一会降序)的输入处理比较好。 在jdk1.7之后,Arrays类中的sort方法有一个分支判断,当LegacyMergeSort.userRequested为true的情况下,采用legacyMergeSort,否则采用ComparableTimSort。并且在legacyMergeSort的注释上标明了该方法会在以后的jdk版本中废弃,因此以后Arrays类中的sort方法将采用ComparableTimSort类中的sort方法。 public static void sort(Object[] a, int fromIndex, int toIndex) { if (LegacyMergeSort.userRequested) legacyMergeSort(a, fromIndex, toIndex); else ComparableTimSort.sort(a, fromIndex, toIndex);

智能商贸项目Day01-集成SpringDataJpa

会有一股神秘感。 提交于 2019-12-17 05:05:43
智能商贸项目Day01-集成SpringDataJpa 一、SpringDataJpa概念 是Spring的一个子框架,是JPA规范的再次封装抽象 集成Jpa,让操作数据库变得更加的简单 二、创建项目 (一)导包 能够看懂这里导入了哪些包 理解这些包是做什么的 < properties > < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding > < org.springframework.version > 4.2.5.RELEASE </ org.springframework.version > < org.hibernate.version > 4.3.8.Final </ org.hibernate.version > < spring-data-jpa.version > 1.9.0.RELEASE </ spring-data-jpa.version > < com.fasterxml.jackson.version > 2.5.0 </ com.fasterxml.jackson.version > < org.slf4j.version > 1.6.1 </ org.slf4j.version > </ properties > < dependencies > <!--