12 2013 档案
摘要:原创博文,转载请注明出处利用周六周末的时间把几种基本的排序方法用python实现了一下,废话少说,直接上代码。本文不注重基础知识的讲解,只做大致的描述,大家如果不清楚概念,自行查找资料。直接插入排序: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 1 def insert(arr): 2 l = len(arr) 3 for i in range(1,l): 4 if arr[i]=0 and arr[j]>temp:10 arr[j+1]=arr[j] #元素后移11 ...
阅读全文
摘要:原创博文,转载请注明出处今天在学习python进程与线程时,无意间发现了线程池threadpool模块,见官方文档。模块使用非常简单,前提是得需要熟悉线程池的工作原理。我们知道系统处理任务时,需要为每个请求创建和销毁对象。当有大量并发任务需要处理时,再使用传统的多线程就会造成大量的资源创建销毁导致服务器效率的下降。这时候,线程池就派上用场了。线程池技术为线程创建、销毁的开销问题和系统资源不足问题提供了很好的解决方案。优点: (1)可以控制产生线程的数量。通过预先创建一定数量的工作线程并限制其数量,控制线程对象的内存消耗。(2)降低系统开销和资源消耗。通过对多个请求重用线程,线程创建、销毁的..
阅读全文
摘要:为何要将URL地址进行编码 然后发送到服务器端?协议规范:RFC 1738,定义了,url地址中,不能包含,除了,0-9的数字,大小写字母(a-zA-Z),短横线’-’之外的字母,但是我们的URL中不止这些字符还有一些特殊字符比如$-_.+!*’(),这时候就需要我们进行编码传输。编码很简单,就是将其值变为%xx而已,而xx就是该字符的16进制值而已。下面的表取自百度百科,大家可以参考一下。backspace %08I %49v %76ó %D3tab %09J %4Aw %77Ô %D4linefeed %0AK %4Bx %78Õ %D5
阅读全文
摘要:原创博文,转载请注明出处。GCC的编译过程分为预处理、生成汇编代码、生成目标代码和链接成可执行文件等4个步骤。使用vim编写C 文件 : [lining@localhost program]$ vim hello.c 这样就会在program文件夹生成hello.c文件编译C代码:使用如下命令“gcc 代码文件名” 如: [lining@localhost program]$ gcc hello.c 这样就会生成二进制可执行文件名称位a.out。 如果需要指定输出的文件名称,使用 “gcc -o 代码文件名” 如:[lining@localhost program]$ gcc -o hello
阅读全文
摘要:原创博文,转载请注明出处。队列也是一种线性表,但是只允许在表的一端进行插入,而在表的另一端进行删除。其操作特性是先进先出。队列常应用在在层次遍历中(如对二叉树的遍历),计算机系统中,也常用来解决如主机与外部设备之间速度不匹配的问题,和由多用户引起的资源竞争问题。队头(front):允许删除的一端,又称队首。队尾(rear): 允许插入的一端。空队列:不含任何元素的空表。队列的顺序存储 比较简单,下面我们学习一下队列的链式存储结构。队列的链式存储类型可描述为1 typedef struct{ //链式队列节点2 ElemType d...
阅读全文