![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 80
六十三吖
代码也是我生活的一部分
展开
-
void 类型指针
void指针的类型转换: 点击打开链接void的使用 下面给出void关键字的使用规则: 规则一如果函数没有返回值,那么应声明为void类型 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:add ( int a, int b ){return a +原创 2017-09-25 14:29:36 · 505 阅读 · 0 评论 -
线性表的顺序存储总结
SeqList.h#ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__typedef void SeqList;typedef void SeqListNode;SeqList* SeqList_Create(int capacity);void SeqList_Destroy(SeqList* list);void SeqL原创 2017-09-25 20:16:26 · 440 阅读 · 0 评论 -
强制类型转换与内存对齐问题小结
C语言强制类型转换 概要:C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种记住这个地址的方便一点的方法。但是,不同的变量在机器中都是0-1代码,所以,我们不能简单的原创 2017-09-29 21:10:58 · 7867 阅读 · 2 评论 -
线性表的链式存储
理解:链式存储对于用户层,约定了必须定义第一个变量为circlistnode类型,对于实现者来说,这样在传入list中时,其就能被强制转换成circlistnode *类型,存储circlistnode类型地址,然后可以当做链表的指针来使用,然后就可以将所有的内容串起来。circlist.h#ifndef _CIRCLELIST_H_#define _CIRCLELIST_H_原创 2017-09-29 22:43:04 · 235 阅读 · 0 评论 -
树
树的表示法二叉链表示法原创 2017-10-10 20:58:55 · 253 阅读 · 0 评论 -
c++模板库线性表线性存储实现实现
SeqList.h#pragma oncetemplateclass SeqList{public: SeqList(int capacity); ~SeqList(void);public: int SeqList_Length(); int SeqList_Capacity(); int SeqList_Insert(T &t, int pos); int Seq原创 2017-10-17 20:48:37 · 350 阅读 · 0 评论 -
最大堆实现
1、基本概念堆分为小根堆和大根堆,对于一个小根堆,它是具有如下特性的一棵完全二叉树:(1)若树根结点存在左孩子或右孩子,则根结点的值(或某个域的值)小于等于左右孩子结点的值(或某个域的值)(2)以左、右孩子为根的子树又各是一个堆。大根堆的定义将上面的小于等于改成大于等于即可。根据根的定义,小根堆的堆顶结点具有最小值,大根堆的堆顶结点具有最大值。2、堆的存储结构由于堆是一棵完全二叉树,所以适宜采用顺...原创 2018-03-18 21:14:15 · 186 阅读 · 0 评论