目录 1. 冒泡排序 BubbleSort 1.1 算法描述 1.2 性能分析 1.3 Python 代码实现 2. 选择排序 SelectionSort 2.1 算法描述 2.2 选择排序的主要优点 2.3 性能分析 2.4 Python 代码实现 3. 插入排序 Insertion sort 3.1 算法描述 3.2 性能分析 3.3 Python 代码实现 不妨默认将对象升序排序 1. 冒泡排序 BubbleSort 1.1 算法描述 从前向后,依次比较相邻的元素,若前一个比后一个大,就对…
目录 1. 快速排序 QuickSort 1.1 步骤 1.2 性能分析 1.3 Python 代码示例 2. 归并排序 MergeSort 2.1 步骤 2.2 性能分析 2.3 Python 代码示例 1. 快速排序 QuickSort 又称划分交换排序(partition-exchange sort) 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要 然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行 1.1 步骤 从数列中…
#include "stdafx.h" #include <stdlib.h> //创建一个节点,data为value,指向NULL Node* Create(int value){ Node* head = (Node*)malloc(sizeof(Node)); head->data = value; head->next = NULL; return head; } //销毁链表 bool Destroy_List(Node* head){ Node* t…
一.冒泡排序 算法思想:遍历待排序的数组,每次遍历比较相邻的两个元素,如果他们的排列顺序错误就交换他们的位置,经过一趟排序后,最大的元素会浮置数组的末端.重复操                   作,直到排序完成. 示例演示: 算法实现: for(int i=0;i<array.length-1;i++){//最多排序n-1次 for(int j=0;j<array.length-i-1;j++){//需要交换的次数 if(array[j]>array[j+1]){ int temp=…
冒泡排序:最简单.最慢.长度小于7的时候最优 插入排序:比冒泡要快比快速排序和希尔排序慢,数据量小的时候优势大 快速排序:速度很快  //js利用systemSort进行排序 systemSort: function(array){ return array.sort(function(a,b){ return a-b; }); } //冒泡排序 bubbleSort: function(array){ var i = 0, len = array.length, j,d; for(;i<len…
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所…
三种简单的html网页自动跳转方法,可以让你在打开一个html网页时自动跳转到其它的页面. 方法/步骤   <html> <head> <title>正在跳转</title> <meta http-equiv="Content-Language" content="zh-CN"> <meta HTTP-EQUIV="Content-Type" CONTENT="text/…
前几天运营提到说后台管理系统有几个地方想要模糊查询..   想了下是简单的,就是要注意以前方法的被调用情况,进行增量改动,以免牵一发而动全身.整理一波记录下(本次案例是按名字模糊查询学生信息). 三种方式概览 SQL 语句正常 like,service 层按需要添加 '%' SQL 使用 CONCAT 函数 mybatis 的 bind 语法 依旧使用H2数据库(>>springboot与H2数据库快速本地测试),初始化脚本配置一个简单的学生表,添几条记录. H2和mybatis相关配置 1)…
这三种排序算法的性能比较如下: 排序名称 时间复杂度(平均) 时间复杂度(最坏) 辅助空间 稳定性 快速排序 O(nlogn) O(n*n) O(nlogn) 不稳定 堆排序 O(nlogn) O(nlogn) O(1) 不稳定 归并排序 O(nlogn) O(nlogn) O(n) 稳定 以下除特殊说明外均针对元素数为n的一个序列. 1.归并排序 归并排序的基本思想是递归地将两个或多个有序子序列合并成一个新的有序子序列,最终得到一个长度为n的有序序列. 看这里,我们先将序列看成n个有序的子序列…
环境 类代码 public class Person:INotifyPropertyChanged { private string name; public string Name { get { return this.name; } set { this.name = value; notifyPropertyChanged("Name"); } } private int age; public int Age { get { return this.age; } set {…
1.第一种方法:先定位到最后一行,若选中最后一行直接退出,否则用递归改变上次选中的状态,重新设置本次选中的状态. - (UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath { current=indexPath.row; } - (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(…
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package timer; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * java演示倒计时 * */ public class TimeTes…
一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装)直接安装即可: https://git-for-windows.github.io/ 2.登陆后,进入Github首页,点击New repository新建一个项目 3.填写相应信息后点击create repository即可 Repository name: 仓库名称(输入名字,最好不要使用中文)…
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 package main import ( "fmt" ) func main() { ], , , , } :] fmt.Println("arr=", arr) fmt.Println("slice=", slice) fmt.Println(&qu…
第一种.界面操作 打开“控制面板”->“管理工具”->“服务”.找到“IIS Admin Service” 右键点击“重新启动” 弹出 “停止其它服务” 窗口,点击“是”. 第二种.Net 命令操作 点击 “开始”->“运行”,输入cmd 打开命令窗口: 输入 net stop iisadmin /y  回车停止IIS:再输入 net start iisadmin  回车启动IIS:再输入 net start w3svc 回车WEB服务. 第三种.IISReset 命令操作 (荐) 点击…
第一种方法: /** * 先定义一个任务每天执行的时间点,再写一个死循环,不断地拿当前时间和事先定义的时间去比对,若到时间则执行任务 */ @Test public void test1() { String taskTime = "13:43:10"; SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); while (true) { Date date = new Date(); if (sdf.for…
一:C#代码直接打印pdf文件(打印质保书pdf文件) 引用: 代码注释很详细了. private void btn_pdf_Click(object sender, RoutedEventArgs e) { string filePath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Resource\\川AX5572 904080D005000.pdf"; printShow(filePat…
本篇文章,先从数据结构开始,一边总结,一边反思,寻求最优解. 本文简单温习下最基础的三类算法:选择,冒泡,插入.先定义一个交换数组作为备用: /** * 交换数组元素 * @param arr * @param a * @param b */ public static void swap(int []arr,int a, int b){ arr[a] = arr[a] + arr[b]; arr[b] = arr[a] - arr[b]; arr[a] = arr[a] - arr[b]; }…
首先要知道是哪几种排序 这里我们所说的是 冒泡排序,选择排序以及插入排序 然后要理解大概的排序速度 : 插入<选择<冒泡 下面是代码 大家可以拷贝自己在java环境里运行运行! public class Test{ public static void main(String[] args) { int[] list = new int[10]; for(int i = 0 ; i <list.length ; i++ ){ list[i] = (int)(Math.random()*1…
function swap(arr,index1,index2){ var t = arr[index1]; arr[index1] = arr[index2]; arr[index2] = t; } function Sarray(num){ this.nums = []; this.num = num; } Sarray.prototype.init = function() { for (i=0;i<this.num;i++){ this.nums.push(Math.floor(Math…
#!/usr/bin/python #排序方法 #冒泡排序 def buble(l): for i in range(len(l)): for j in range(len(l)-i-1): if l[j]>l[j+1]: l[j+1],l[j]=l[j],l[j+1] print l #选择排序 def select(l): for i in range(len(l)): for j in range(i+1,len(l)): if l[i]>l[j]: l[i],l[j]=l[j],l[i…
使用arpspoof.ettercap以及driftnet的简单组合. ①arpsppof+driftnet arpspoof -i eth0 -t 目标ip 目标网关 driftnet -i eth0 + 参数…… ②ettercap+driftnet ettercap -i eth0 -Tq -M arp:remote //目标IP/ //目标网关/ driftnet -i eth0 + 参数…… ③arpspoof+ettercap arpspoof -i eth0 -t 目标ip 目标网…
开启一个新的线程 new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } startActivity(new Intent(LeadActivity.this, WelcomeActivity.class)); } }.start(); handler 加 postDelayed  handler…
冒泡排序: function bubbleSort(arr){ for(var r=1;r<arr.length-1;r++){ for(var i=0;i<arr.length-r;i++){ if(arr[i]>arr[i+1]){ arr[i]+=arr[i+1]; arr[i+1]=arr[i]-arr[i+1]; arr[i]-=arr[i+1]; } } } } bubbleSort(arr); 插入排序: function insertSort(arr){ for(var…
//删除线性表中不为x的元素. void delete_list(Sqlist &L,int x){ ; ;i < L.length;i++){ if(L.data[i] != x){ L.data[k] = L.data[i]; k++; } } L.length = k; } //先统计不为x的个数,然后将线性表中不为x的数据向前移动K个. void delete_list(Sqlist &L,int x){ ,i=; while(i < L.length){ if(L.d…
插入排序(InsertSort): 插入排序的基本思想:元素逐个遍历,在每次遍历的循环中,都要跟之前的元素做比较并“交换”元素,直到放在“合适的位置上”. 插入排序的特点:时间复杂度是随着待排数组的有序性变化的,数组越有序,插入排序的时间复杂度越低(接近O(n)级别),反之,时间复杂度越高(O(n*n)级别),平均情况是O(n*n)级别,所以我们日常使用时,只针对较为有序的数组进行插入排序,插入排序通常并不需要额外的数据存储空间,插入排序将数组分为无序区和有序区两个区,然后不断将无序区的第一个元…
UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView.UIActionSheet 1、UIAlertController显示普通的Alert - (IBAction)showAlert:(UIButton *)sender { //显示提示框 //过时 // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@&q…
Q: 冒泡排序? A: 1) 比较相邻的元素.如果第一个比第二个大,就交换它们两个; 2) 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数; 3) 针对所有的元素重复以上的步骤,除了最后一个.因此总共有N - 1 趟; 4) 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. Q: 冒泡排序的Java代码? A: 示例: BubbleSort.java, BubbleSortTest.java Q: 冒泡排序的不变性? A: …
前几天在工作碰到一个json对象排序的问题,一直认为JavaScript不能进行对象的排序,其实并不是,今天就来总结下常见的几种简单排序: 第一类 纯数字: var arrOld = [4,10,9,1,0,31]; var arrNew = arrOld.sort(sortNum); function sortNum (a,b){ return a-b; } //输出结果:[0, 1, 4, 9, 10, 31] sort()   方法用于对数组的元素进行排序,在原数组上进行排序,不生成副本.…
数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理. ------------------------------------------------------------------------------------------------------------------------------------------- c3p0的配置方式分为三种,分别是 1.setters一个个地设置各个配置项(不推荐)2.类路径下提…