自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 图示经典算法--三向切分的快速排序

三向切分的快速排序对于含有大量重复元素的数组,使用三向切分快速排序堆快速排序进行改进。从左到右遍历数组一次,维护一个指针lt使得a[lo..lt-1]中的元素小于,一个指针gt使得a[gt+1..hi]中的元素都大于v,一个指针i使a[lt..i-1]中的元素都等于v,a[i..gt]中的元素都还未确定。a[i]小于v,将a[lt]和a[i]交换,将lt和i减一;a[i]大于v,将a[gt]和a

2016-03-31 19:15:48 1369

原创 图示经典算法--快速排序

快速排序快速排序是一种分治的排序算法,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。class QuickSort(object): """快速排序""" @classmethod def sort(cls, a):

2016-03-29 19:45:17 907

原创 图示经典算法--自底向上的归并排序

自底向上的归并排序自底向上的归并排序使用分治思想,将数组先两两归并,再四四归并,然后八八归并,直到整个数组有序。class MergeBU(object): """docstring for MergeBU""" @classmethod def merge(cls, a, lo, mid, hi): # 将a[lo...hi]复制到aux[lo...hi]

2016-03-26 16:25:40 1036

原创 图示经典算法--自顶向下的归并排序

自顶向下的归并排序归并排序使用分治思想,将两个子数组排序,通过归并两个子数组来将整个数组排序class TopDownMergeSort(): """自顶向下的归并排序""" @classmethod def merge(cls, a, lo, mid, hi): # 将a[lo...hi]复制到aux[lo...hi] cls.aux[lo:h

2016-03-26 15:54:04 924

原创 图示经典算法--希尔排序

希尔排序希尔排序是插入排序的一种。确定排序间隔h按照间隔h对数组排序,保证间隔为h的元素是有序的缩小h值,再对间隔h数组排序,直到h为1def shell_sort(a): n = len(a) h = 1 while h < n // 3: # 计算间隔 h = 3 * h + 1 # 1, 4, 13 while h >=

2016-03-26 11:05:03 780

原创 图示经典算法--插入排序

插入排序插入排序基本思路,将待排序数据插入已经排序的数据的适当位置def insertion_sort(data): n = len(data) # 外循环 for i in range(1, n): j = i # 对索引i左侧数据排序,保证索引i左侧数据是有序的 while j > 0 and data[j] < data[

2016-03-25 19:46:14 514

原创 图示经典算法--选择排序

选择排序找到数组中最小的元素a将a和数组的第一个元素交换位置(如果第一个元素就是最小的元素那么a就和自己交换)在剩余的元素中找到最小的元素,将它和数组的第二个元素交换位置如此往复,直到将整个数组排序def selection_sort(data): n = len(data) # 外循环,给第i个位置交换数据 for i in range(n): m

2016-03-23 19:00:43 486

原创 html5学习之侧边栏实现

设置布局隐藏显示侧边栏添加菜单内容为菜单列表添加事件设置active菜单设置默认选中菜单设置viewport使用媒体查询打算学习一些html5的知识,暂时不使用jquery.js,计划做一个侧边栏,侧边栏可以隐藏,点击侧边栏中的菜单改变content中的内容。--------------------------------- header------------------

2015-10-11 22:21:32 32667

原创 golang生成目录嵌套json使用jstree显示

目的:在浏览器上浏览电脑指定目录。技术:golang,jstree1. golang生成jstree识别的json1.1 使用”io/ioutil”读取指定目录fileinfos, err := ioutil.ReadDir(dirpath)if err != nil { log.Println("ReadDir error!" + dirpath)}1.2 使用”encoding/

2015-08-30 20:54:05 1336

转载 字符串常量引起的思考

源地址:http://www.cnblogs.com/-Lei/archive/2013/01/12/2858027.html记得以前看过一道这样的题目:  以下程序的执行结果是?#include int main(){ cha

2013-11-11 15:58:12 607

原创 android使用WindowManager显示自定义View

调用方式:ShowMessage showMessage = new ShowMessage(getApplicationContext());//显示showMessage.show();showMessage.setMessage("Hello World!")//消隐showMessage.hide();代码:import andr

2013-09-06 17:13:20 1017

转载 python3.2调用google翻译

原文使用python2.6:修改在python3.2下测试成功#coding=utf-8__author__ = "zhangshy"__date__ = "$Date: 2013/09/05$"import reimport urllib.requestimport urllib.parsedef translate(text):    '''

2013-09-05 19:18:03 800

原创 python使用HTMLParser保存网页图片

#coding=utf-8from HTMLParser import HTMLParserimport urllibimport sysimport osclass MyHTMLParser(HTMLParser):def __init__(self):HTMLParser.__init__(self)self.links = []def handle_starttag(self, tag, a

2013-09-05 10:36:49 930

原创 vim配置

1:查看vim配置文件 cat /usr/share/vim/vimrc     sudo gvim /etc/vim/vimrc.local添加一下内容: set nuset hlsset incsearchset showmatchset matchtime=5" 自动格式化 set formatoptions=tcrqn " 继承前一行的缩进方

2013-08-15 15:23:12 467

原创 lseek

#include #include #include #include #define FILE_MODE S_IRUSR|S_IWUSR|S_IRGRP|S_IROTHchar buf1[] = "abcdefghij";char buf2[] = "ABCDEFGHIJ";int main(void){    pid_t fd;

2012-07-08 13:17:23 424

原创 函数指针 结构体struct

#include typedef int (*func_t)();typedef struct sop{    int num1;    int num2;    func_t op;}opnum;int add(int num1,int num2){    return(num1 + num2);}int sub(int num1,int

2012-07-07 23:51:24 366

原创 求字符串长度的实现

#include #include int strlen_t(char *str){        int i = 0;    while(*(str+i)!='\0')        i++;    return i;}#ifdef DEBUGvoid main(int argc,char* argv[]){    char st[] =

2012-07-05 22:34:07 268

原创 字符串指针 整形指针

字符串指针#include #include #include void tmp(char *str){        printf("2222 %p,%p\n",&str,str);    str = "123456";    printf("3333 %p,%p\n",&str,str);}void main(){    char *a=ma

2012-07-05 22:07:24 329

原创 sizeof与strlen

#include #include #include void main(){    char *str = "123456";    char str2[10]="123456";    printf("sizeof char is %d\n",sizeof(char));    printf("sizeof char* is %d\n",sizeof(cha

2012-07-05 21:53:11 330

原创 union int内存类型存储情况

#include union mem{    int num;    char byte[4];};void main(){    int i;        union mem n;    n.num = 0x12345678;    printf("num is %0x\n",n.num);    printf("In memory is

2012-07-05 21:41:16 346

原创 进程fork

fork()在 Linux 系统库 unistd.h 中的函数声明如下:pid_t fork(void);程序:forktest.c #include #include main(){    pid_t pid;    printf("Now only one process\n");    printf("Calling fork...\n");

2012-07-05 21:38:44 217

原创 系统调用exec

fork()只能建立相同程序的副本Linux 还提供了系统调用 exec 系列,它可以用于新程序的运行。exec 系列中的系统调用都完成相同的功能,它们把一个新程序装入调用进程的内存空间,来改变调用进程的执行代码,从而形成新进程。如果 exec 调用成功,调用进程将被覆盖,然后从新程序的入口开始执行。这样就产生了一个新的进程,但是它的进程标识符与调用进程相同。这就是说,exec 没有建立一个与

2012-07-05 21:38:00 2469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除