
数据结构
XW-YYDS
虽不能至,然心向往之
展开
-
数据结构 - 顺序栈的基本操作(C语言)
顺序栈:利用顺序存储方式实现的栈。顺序栈的定义:(1):栈中元素用一个预设的足够长度的一维数组来实现:DataType data[MAXSIZE]。(2):栈底位置可以设置在数组的任何一个端点,而栈顶随着插入和删除而变化。(3):用int top 作为栈顶的指针,指明当前栈顶位置。通常:0下标设为栈底,空栈时top=-1;入栈时栈顶指针+1,出栈时栈顶指针-1。顺序栈的存储结构原创 2017-12-11 11:25:58 · 5017 阅读 · 1 评论 -
数据结构 - 链栈的基本操作(C语言)
栈的特点:先进后出。链栈:(1):栈底即链表的最后一个结点,而栈顶总是链表的第一个结点。因此:新入栈元素即为链表新的第一个结点。(2):一个链栈可由栈顶指针top唯一确定。如下图给出了链栈中元素与top的关系。(3):采用带头节点的单链表实现栈。因为:链栈的插入和删除仅在表头位置进行,所以表头指针top就作为栈顶指针。链栈的C语言定义为:typedef原创 2017-12-11 11:05:50 · 2440 阅读 · 2 评论 -
数据结构 - 一元多项式相加减(C语言)
通常情况下,一元多项式可写成: an(x) = a1x^e1 + a2x^e2 + a3x^e3 + ... + amx^em (数字,m为下标),其中:pi是指数为ei的项的非零系数,0例如:An(x) = 5x^3 - 2x^12 + 13x^99。可用线性表:((5,3),(-2,12),(13,99))表示。为了操作方便,采用单链表作存储结构,结点有三个域:系数,指数,原创 2017-12-07 23:02:26 · 14795 阅读 · 10 评论 -
数据结构 - 单链表的基本操作 (C语言)
单链表:一组任意存储单元组成的线性表. 单链表这块也没有什么难点,都是一些基本操作。但是应该注意以下几点:(1) :单链表一般附加头结点,这样做的好处是:初始化单链表后头指针不需要再改动.(2) :头结点的数据域一般不存储数据 或者 存储标题,表长等信息.而单链表的存储结构一般如下:typedef int ElemType;typedef struct node{ El原创 2017-12-05 23:35:44 · 1373 阅读 · 0 评论 -
数据结构 - 顺序表的基本操作(C语言)
顺序表:简单来说,和一维数组的操作基本类似。这样,就比较容易理解顺序表的各种操作了。顺序表的存储结构如下:#define MAXSIZE 100typedef int ElemType;typedef struct{ ElemType elem[MAXSIZE]; int length;}SeqList;注意:定义一个顺序表L后,(1) : 顺序表长:L-原创 2017-12-05 22:42:55 · 1948 阅读 · 0 评论 -
数据结构 - 顺序队的基本操作(C语言)
队列定义:只允许在表的一端插入,另一端删除的限定性线性表。并且把允许插入的一端叫队尾(rear),把允许删除的一端叫队头(front)。特点:先进先出。当然,队列也有顺序存储和链式存储两种。现在,我们先来看看顺序存储结构的队列。队列的顺序实现需要注意的几点:(1):利用一维数组作队列的顺序存储结构。并设立一个指向对头的指针front,一个指向队尾的指针rear。(2):入队:r原创 2017-12-11 22:17:49 · 1728 阅读 · 3 评论 -
数据结构(C语言实现) - 二叉树的基本操作(建立,遍历,结点数,叶子结点数,高度,按树状打印,输出叶子结点等)
通常,对二叉树的操作都是利用二叉链表进行的。二叉链表:包括三个域-数据域,左孩子,右孩子的结点结构的二叉树存储结点。二叉链表的存储结构如下:typedef char DataType; typedef struct node /*二叉树的存储结构*/ { DataType data; struct node *Lchild; struct node *Rchild;原创 2017-12-13 23:04:26 · 18296 阅读 · 2 评论