- 博客(10)
- 收藏
- 关注
原创 c语言socket的地址分析
socket编程中主要涉及3种地址结构:1、IPv4地址结构unp中描述struct in_addr { in_addr_t s_addr; /*32-bit IPv4 address.network byte orderd*/};struct sockaddr_in { uint8_t sin_len; /*length of structure(16)*/
2013-01-11 15:44:47
576
原创 c语言socket套接口API
c语言socket通信包含以下几个最常用的函数。根据使用方(客户端或服务端)有不同的调用方法,简单示图如下: 1、socket()要建立一个网络连接,不论客户端或服务端首先都要调用socket()函数建立一个网络通信的套接口:#include#includeint socket(int domain, int type, int protocol);第一个参数dom
2013-01-11 11:12:16
1157
原创 快速排序
快速排序也是一种分治法的实现。与归并排序的不同是其操作是原地进行的,不需要额外的存储空间。基本思路:1、基数的选取,普通快速排序在序列中指定a1或an为基数(本例为a1)。2、记录基数为x。分别定义两个循环L:a2往后的循环;R:an往前的循。两个循环的终止条件是L和R循环到同一个元素时。起始有个空位a1,通过将R循环中比基数x小的数ak放到a1,此时得到空位k,再进行L循环,将比基数
2012-12-24 14:52:34
391
原创 堆排序
1、堆二叉堆数据结构可以被看作一颗完全二叉树。对堆中元素i有如下关系:i/2为元素i的父节点,2i为元素i的左子节点,2i+1为元素i的右子节点。最大堆:对每个元素i都有i小于等于其父节点,大于等于其子节点。根节点为最大值。最小堆:对每个元素i都有i大于等于其父节点,小于等于其子节点。根节点为最小值。2、堆排序假设一个序列是一个最大堆,我们可以知道a1为序列的最大值
2012-12-24 11:25:49
348
原创 冒泡排序
对一个序列,从后往前比较a[k]和a[k-1],当a[k]小于a[k-1]时,交换两者的值。可以知道,当k从n循环到2时,有a[1]是序列的最小值。下一次可以从n循环到3,得到a[2]是第二小的值,如此循环下去最终得到一个有序序列。冒泡排序是一种相对比较简单的方法,每次循环都能使一个最小值(相对)被交换到最左(相对)的位置。 void BubbleSort(int a[], int l
2012-12-20 14:09:24
276
原创 插入排序 和 归并排序(分治)的c实现和时间复杂度分析
1、排序算法输入:n个数。输出:输入序列的一个排序 ,满足a1' 2、插入排序 插入排序是一个对少量元素排序的有效算法。其算法思想为:对一个序列,从i=2开始依次与前面i-1的元素进行比较,将ai插入a1到ai-1中,使得a1-ai有序,当i=n时,完成an的插入即可得到排序后序列。void InsertSort(int a[],int length){ in
2012-12-20 11:41:12
814
原创 c语言基础—指针与数组
前面提到指针是值为地址的数据类型。数据类型存储在有地址编号的内存上,通过指针可以高效的访问相关变量。1、 指针的声明与赋值指针对不同数据类型的地址有不同的声明方式。如int *p;表明p是一个指向int型变量的指针,即p的值为int型变量的地址。一般声明方式为数据类型 *p;表明p是一个指向该数据类型变量的指针。其中*称为间接运算符,用来获取相关指针所指地址的值。还有一个地址运算
2012-05-02 17:09:05
344
原创 c语言基础—运算符和语句
语句是构成程序的基本,一个语句就是一条完整的指令(可能包含多个指令)。C中以’;’来表示一个语句的结束。语句的基本形式是: 表达式;其中表达式是由运算符和操作数组合构成。其中操作数可以是常量或变量或两者组合成的子表达式。表达式也可为空,但没实际意义。1、 运算符C中有多种运算符,可对数据进行操作。1.1赋值运算符:=赋
2012-05-02 17:08:45
435
原创 c语言基础—数据类型
C语言中有四种基本数据类型—整型、浮点型、指针和聚合类型(数组和结构等)。其他类型由此四种派生而成。 1、 整数类型整型包含:字符(char),整型(int),长整型(long)和短整型(short),都分为有符号(signed)和无符号(unsigned)两种。按位数有short字符char占用八位,设计的目的在于容纳字符数据,但本质上是小整型。char在用关键字signe
2012-05-02 17:08:22
741
原创 c语言基础—常量、变量及其属性
C语言中的数据还可按照是否可以变化分为变量和常量。本文涉及关键字const,static,extern1、 常量常量,顾名思义,就是常数,在程序运行期间不会变化,值不变。常量的声明使用关键字const。如: const int a = 1;此语句将a声明为常量1,且a的值不能再改变。当对a再赋值则程序会提示错误。因此常量的赋值在声明时初始化,或者为函数的
2012-05-02 17:07:43
872
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅