Monthly Archives: March 2018

Linux环境下读取和设置环境变量方法总结

在所有Unix和类Unix系统中, 每个进程都有其各自的环境变量设置。 缺省情况下, 当一个进程被创建时, 除了创建过程中的明确更改外,它继承了其父进程的绝大部分环境设置。Linux是一个多用户多任务的操作系统,可以在Linux环境下为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量。
Continue reading

数据结构与算法分析之快速排序(Quick Sort)学习

快速排序(英语:Quick Sort),又称划分交换排序(Partition-Exchange Sort),简称快排,一种排序算法,最早由东尼·霍尔提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
Continue reading

Linux网络编程之网际协议(Internet Protocol)学习

网际协议(英语:Internet Protocol,缩写为IP),又译互联网协议,是用于分组交换数据网络的一种协议。IP是在TCP/IP协议族中网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据。为此目的,IP定义了寻址方法和数据报的封装结构。第一个架构的主要版本,现在称为IPv4,仍然是最主要的网际协议,尽管世界各地正在积极部署IPv6。
Continue reading

数据结构与算法分析之冒泡排序(Bubble Sort)学习

冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
Continue reading

数据结构与算法分析之插入排序(Insertion Sort)学习

插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。
Continue reading

Linux网络编程之确定主机字节序及网络字节序的转换

字节顺序,又称端序或尾序(英语:Endianness)。在计算机科学领域中,是跨越多字节的程序对象的存储规则。在几乎所有的机器上,多字节对象都被存储为连续的字节序列。例如在C语言中,一个类型为int的变量x地址为0x100,那么其对应地址表达式&x的值为0x100。且x的四个字节将被存储在存储器的0x100, 0x101, 0x102, 0x103位置。
Continue reading