自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 函数传递的时候参数传递和栈帧结构

调用函数的时候首先进行参数压栈,一般情况下压栈顺序为从右到左,最有压函数的地址;在windows平台下,栈都是从下到上生长的

2014-03-22 23:50:29 1029

转载 队列的入列和出列

#include using namespace std; typedef struct student { int data; student *next; }node; typedef struct linkqueue { node* first,*rear; }queue1; //队列的入队 queue *insert(queue1 *HQ,int x) {

2014-03-21 23:08:00 4356

原创 关于数据结构的一个疑问

为什么如果按index访问item并就地插入或删除数据 这种操作比较频繁 ,为什么使用数组最节省时间

2014-03-21 19:13:13 793

转载 用循环列表解决一个约瑟夫问题

#include using namespace std; typedef struct LNode { int data; LNode* link; }LNode,*LinkList; //n为总人数,k为第一个报数的人,m为出列者喊道的数 void JOSEPHUS(int n,int k,int m) { //p为当前节点,r为辅助节点,指向p的前驱结点,list为头结点

2014-03-21 19:07:50 683

原创 双链表的建立

#include using namespace std; struct Node { int data; Node * pre; Node* Next; } Node *Creat() { Node * head; head->pre = NULL; head->data = NULL; Node* p = head; Node* q = head; Node* s

2014-03-21 17:30:46 505

原创 遍历一次求单链表中间节点

Node* FindMid(Node* head) { if(NULL == head||NULL = head->next) return head; Node *p = head->next;; Node *q = p; while(NULL != p) { p = p->next->next; q = q->next; } return q; }

2014-03-21 17:07:32 701

原创 删除单链表第一个元素

Node* Dele(Node* head) { if(NULL == head) return head; Node* p = head; Node* q = p->next; if(NULL == q) return head; p->next = q->next; free(q); return head; }

2014-03-21 07:58:12 2806

原创 单链表逆置

node* reverse(node *head) { if(NULL == head || NULL == head->next)//不要忘记了判断为空的情况 return head; Node* q = head->next; q->next = NULL; Node *p = head->next->next; Node *s = p->next; while(NULL !=

2014-03-21 07:36:08 543

原创 单链表排序

//假设由小到大进行排序 Node*  Sort(Node* head) { node *p p = head; node *p q= p->next; int m,n,temp; int nlength = length(head);     if(NULL == head || NULL == head) { return head; } while(NULL !=

2014-03-21 00:44:38 480

原创 单链表的插入

//假设顺序为从小到大 Node * Insert(Node* head,int e) { Node* q = head; Node* p = (Node*)malloc(sizeof(Node)); p->data = e; while((edata) && NULL != q->next) { q=q->next; } if(NULL == q->next) {

2014-03-21 00:25:08 612

原创 单链表编程删除

Node* Dele(Node* head,int value) { if(NULL != head->next) { Node*  p = head; Node* q = p; while(value != p->data) { q=p; p = p->next; } q->next = p->next; }        return head; }

2014-03-20 23:52:20 602

转载 单链表的建立、测长和打印

#include using namespace std; typedef struct St { int data; Node * next; }Node; Node* Create() { Node* q= (Node*)malloc(sizeof(Node));         int x;         Bool circle = True;

2014-03-20 23:41:30 506

转载 斐波那契数列

几个例子: 1、 三角形的三边关系定理和斐波那契数列的一个联系:  有长为144cm的铁丝,要截成n小段(n>2),每段的长度不小于1cm,如果其中任意三小段都不能拼成三角形,则n的最大值为多少? 2、 现一对兔子每月能生一对小兔,而每对小兔在他出生后的第三个月,就能开始生小兔,如果兔子是长生不老的,由一对刚出生的小兔开始,一年之后会有多少对兔子? 斐波那

2014-03-20 11:40:08 769

转载 strcpy memcpy memset

一、strcpy 函数原型:extern char* strcpy(char*dest,const char *src) 头文件:#include 功能:把从src地址开始含有' \o'结束符的字符串复制到以dest开始的地址空间 说明:src和dest 必须有足够空间来容纳src的字符串 返回:指向dest的指针 char *strcpy(char* strDestination,c

2014-03-19 20:42:32 631

转载 常见基本类型所占字节数

16位编辑器: char:1个字节 short :2 int:2 unsigned int:2 long:2 long long:8 float:4 double:8 32位编辑器: char:1 short:2 int:4 unsigned int:4 long:4 unsigned long:4 long long:8 float:4 doubl

2014-03-14 21:34:47 661

转载 sizeof

#include #include using namespace std; //数组是“传址调用”的,调用者只需将实参的地址传递过去 /*void foo3(char a3[3]) { cout } void foo4(char a4[]) { cout }*/ int main() { //1、基本数据类型  省略 //2、指针变量

2014-03-14 13:41:28 551

转载 几种常见类型与零值进行比较

1、bool  flag = FALSE if(flag) if(!flag) 2、float   flag m = 0.000001 if((flag >= -m)&&(flag 3、指针 p  if(p == NULL) if(p !=  NULL ) 4、int flag if(flag == 0) if(flag  != 0)

2014-03-14 09:06:51 634

转载 GetMemory()

#include using namespace std; #include using namespace std; //1,调用GetMemory( str )后, str并未产生变化,依然是NULL.只是改变的str的一个拷贝的内存的变化   //2,strcpy( str, "hello world" );程序运行到这将产生错误。 //3,new的时候有可能内存出错,应该在*

2014-03-12 18:35:44 691

原创 类模板

类模板可以重载可以继承; 类模板可以继承普通类; 类模板的基类也可以是类模板; 类模板主要由于实现容器;

2014-03-11 10:04:41 556

转载 有关操作系统的基本知识

1、试解释操作系统原理中的作业、进程、管程的各自定义。 作业:用户在一次解题或者食物处理过程中要求计算机所做工作的集合。它包括用户程序所需的数据以及控制命令。作业是由一系列的步骤组成。 进程:一个程序在一个数据集合上的一次运行。所以一个程序在不同数据集合上的运行是不同的线程,一个程序在同一个数据集合上的多次运行都是不同的进程。 线程:是进程中的一个实体,是被系统独立调度和执行的基本单位。

2014-03-10 21:51:27 563

原创 OSI七层模型

第一层:物理层 传输比特流  网线、中继器和集线器 均属于这一层 第二层数据链路层 帧传输  交换机属于这一层 第三层网络层   IP、地址解析协议   路由器属于这一层 第四层传输层 第五层 会话层 建立连接  第六层 表示层 是否压缩解密 第七层 应用层 应用程序接口

2014-03-09 10:44:43 633

原创 内联函数

在类内实现的成员函数,或者在类外实现 标识为inline的函数  这两种情况是内联函数。

2014-03-09 10:27:19 587

原创 友元函数的深层探讨--在什么样的情况下需要友元

稍后更新

2014-03-09 09:16:38 797

原创 友元函数的几点注意事项和实例

友元函数说明如下 :  1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分;  2)注意友元函数不是类的成员函数,所以友元函数的实现和普通函数一样,在实现时不用"::"指示属于哪个类,只有成员函数才使用"::"作用域符号;  3)友元函数不能直接访问类的成员,只能访问对象成员

2014-03-09 09:12:00 1431

转载 C++----引用

1、什么是引用?申明和使用引用要注意哪些问题? 答:引用就是某个变量的别名,对应用的操作与对变量直接操作相同。 (1)初始化:申明一个引用的时候切记要对它进行初始化引用申明完毕后。 (2)引用名不可另外赋值:相当于目标变量名有两个名称,即目标原名和引用名。不能把该引用名作为其他变量别名。 引用本身不占据存储单元,系统也不会给引用分配存储单元。 (3)不能建立数组的引用 2、将引用作为函

2013-07-12 17:25:24 513

原创 调试错误:error C2001&&warning C4129

1、error C2001: newline in constant: "\\sdf\\day\\\"或者"\\sdf\\day\"即在最后的地方多一个'\'和少一个'\'的错误都会出现C2001这个错误。 2、warning C4129: 'd' : unrecognized character escape sequence \\sdf\\\day\\或者"\\sdf\day\"即在中间

2013-04-27 17:04:00 1653

原创 进入IT一年半

在大学里我学的是数学专业,几乎没有动手写过程序。机缘巧合我跌跌撞撞的走进IT行业的大门,进入一个很大的IT公司,这是我的幸运。   开始代码 对于我来说犹如天书,只是记得几乎半年的时间我都是很焦灼的对待我的工作,每天晚上都不能安然入睡,却不知从何处下手。半年后,我离开了那家公司来到了现在的公司。虽然仍然是编程,但是难度却大大的下降。我终于可以很从容的面对我的工作了。   其实,我有一个很大很大

2013-03-15 16:57:13 485

原创 静态链表需要创建吗?

静态链表创建的代码是什么?

2012-12-20 17:32:46 401

空空如也

空空如也

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

TA关注的人

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