自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 构造函数详解

(一)构造函数的定义:      一种特殊的成员函数,主要用于为对象分配空间,进行初始化。构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。

2016-09-27 17:16:07 7827 2

原创 将链表的所有奇数元素放于偶数元素前面

具体要求:头文件:#pragma once#include#include#includetypedef int DataType;typedef struct Node{ DataType data; struct Node *next;}*PNode,Node;void ParityRearrangement(PNode *pHead)

2016-09-22 23:30:40 3987

原创 复杂链表的复制

什么是复杂链表?答:每个节点包含两个指针域(next.random)和一个数据域(data),其中next指向下一个节点,而random可指向链表的任意节点(包括它本身)甚至NULL。以下面的例子为例进行复制:代码实现:#include#include#includetypedef int DataType;typedef struct ComplexN

2016-09-20 14:03:36 659

原创 链表中的带环相交问题

PNode CheckCircle(PNode pHead);//判断链表是否带环int GetCircleLength(PNode pMeetNode);//如果带环,求环的长度PNode GetInterNode(PNode pHead,PNode pMeetNode);//获取环的入口点int CheckCrossWithCircle(PNode pHead1,PNode pHead2);//判断链表是否相交(有可能带环)PNode UnionSet(Node *list1,Node *lis

2016-09-19 23:18:06 1198

原创 单链表的逆置,排序,合并有序链表,不带环相交

PNode Reserse_LinkList(PNode *pHead);//逆置单链表void Bubbleort(PNode pHead);//冒泡排序PNode MergeOrder_LinkList(PNode pList1,PNode pList2);//合并两个有序链表,合并后仍有序int CheckCross(PNode pList1,PNode pList2);//判断链表是否相交PNode Cross(PNode pList1,PNode pList2);//求两个链表相交的交点

2016-09-17 19:34:17 1174

原创 (C语言版)猴子吃桃问题

问题描述:/*有一群猴子,去摘了一堆桃子*//*商量之后决定每天吃剩余桃子的一半*//*当每天大家吃完桃子之后,有个贪心的小猴都会偷偷再吃一个桃子*//*按照这样的方式猴子们每天都快乐的吃着桃子*//*直到第十天,当大家再想吃桃子时,发现只剩下一个桃子了*/问:猴子们一共摘了多少桃子

2016-09-17 11:24:03 124357 8

原创 链表面试题逆序打印,删除无头非尾节点,非头位置插入,约瑟夫环,查找中间和倒数第k个节点

PNode EndNode(PNode *pHead);//返回最后一个节点void ReversePrint(PNode pHead);//逆序打印链表void DeleteNotTail(PNode pos);//删除无头非尾节点void InsertNotHead(PNode *pHead,PNode pos,DataType data);//在链表的非头位置插入节点PNode JosephCircle(PNode *pHead,int m);//约瑟夫环PNode FindMidNode(

2016-09-15 20:16:59 6128

原创 单链表的基本操作

void Init_LinkList(PNode *pHead);//初始化PNode BuyNode(DataType data);//创建新节点void PushBack(PNode *pHead,DataType data);//尾插void PopBack(PNode *pHead);//尾删void PushFront(PNode *pHead,DataType data);//头插void PopFront(PNode *pHead);//头删PNode Find(PNode pHe

2016-09-13 12:31:54 1036

原创 动态内存浅析

首先,我们先来谈谈为什么要使用动态内存分配?      我们都知道,数组是相同元素的一组集合,它的各个元素之间也是连续存储的,所以内存会在编译阶段就为其分配所需的空间,而且在定义数组时就需要准确的标明数组的元素个数,这就导致了数组的长度不得不在运行时候方可得知,因为数组元素所占空间必须由输入数据来决定,这点就形成了数组本身致命的缺陷,同时也影响了程序的灵活性与健壮性。

2016-09-11 09:37:56 1594

原创 二分查找的多种实现

折半查找(即二分查找)二分搜索算法:给定排好序的n个元素arr[0:n-1],在这n个元素中找出一特定元素x. 首先比较容易想到的办法是用顺序搜索方法,逐个比较a[0:n-1]中的元素 ,直至找出元素x或搜索遍整个数组后确定x不在其中,这个方法没有很好的利用n个元素已排好序这个条件,因此在最坏情况下,顺序搜索的方法需要O(n)次比较。 而二分搜素搜的基本思想是将n个

2016-09-10 21:34:54 1565

Effective C++第三版及详细笔记

内容简介:有人说C++程序员可以分为两类,读过Effective C++的和没读过的。当您读过《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)(双色)》之后,就获得了迅速提升自己C++功力的一个契机。

2018-10-16

空空如也

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

TA关注的人

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