- 博客(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++第三版及详细笔记
2018-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人