C语言描述链表的实现及操作】的更多相关文章

一.链表的创建操作 // 操作系统 win 8.1 // 编译环境 Visual Stuido 2017 #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef int ElementType; // 定义数据类型,可根据需要进行其他类型定义 // 链表节点的定义 typedef struct ListNode { ElementType Element; // 数据域,存放数据 ListNode*…
概述     二叉树为每个节点最多有两个儿子节点(左儿子节点和右儿子节点)的树. 前序遍历:根结点 ---> 左子树 ---> 右子树. 中序遍历:左子树---> 根结点 ---> 右子树. 后序遍历:左子树 ---> 右子树 ---> 根结点. 节点深度:节点ni的深度(depth)为从根到ni的唯一路径的长.根的深度为0. 节点的高:节点ni的高(height)为从ni到一片树叶的最长路径.所有的树叶(没有儿子节点的节点)的高都为0.一棵树的高等于它的根的高. 代码…
// 队列的单链表实现 // 头节点:哨兵作用,不存放数据,用来初始化队列时使队头队尾指向的地方 // 首节点:头节点后第一个节点,存放数据 #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef int Elementype; // 定义数据类型 // 定义节点结构 typedef struct Node { Elementype Element; // 数据域 struct Node * Nex…
#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef int Elementtype; // 定义数据类型 // 定义节点 typedef struct Node { Elementtype Element; struct Node * Next; }NODE, *PNODE; // 定义栈结构体 typedef struct Stack { PNODE PTOP; // 定义栈顶节点 PNODE…
一.静态数组实现 1.堆栈接口 // 一个堆栈模块接口 // 命名为stack.h #define STACK_YTPE int // 堆栈所存储值的类型 // push函数 // 把一个新值压入栈中 void push(STACK_YTPE value); // pop函数 // 从堆栈中弹出一个值 STACK_YTPE pop(void); // top函数 // 返回堆栈顶部元素的值 STACK_YTPE top(void); // is_empty函数 // 如果堆栈为空,返回TRUE,…
一.静态数组实现 1.队列接口 #include<stdio.h> // 一个队列模块接口 // 命名为myqueue.h #define QUEUE_TYPE int // 定义队列类型为int // enqueue函数 // 把一个新值插入队列末尾 void enqueue(QUEUE_TYPE value); // dequeue函数 // 删除队列首元素并返回 QUEUE_TYPE dequeue(void ); // is_empty函数 // 判断队列是否为空 bool is_em…
链表是线性表的一种,是一种物理存储单元上非连续的存储结构,链表中的数据元素之间是通过指针链接实现的. 链表由一系列节点组成,节点可以在运行时动态的生成. 链表中国的每个节点分为两部分:一部分是存储数据的数据域,另一部分是存储下一个节点的地址的指针域. 如果要在链表中查找某个位置的元素,需要从第一个元素开始,循着指针链一个节点一个节点的找,不像顺序表那样可以直接通过下标获取对应的元素,因此,链表不适合查询操作频繁的场景. 如果要在链表中添加或删除某个元素,只需要通过指针操作,将要操作的节点链入指针…
开始学习数据结构,使用的教材是机械工业出版社的<数据结构与算法分析——C语言描述>,计划将书中的ADT用C语言实现一遍,记录于此.下面是第一个最简单的结构——链表. 链表(Linked-List),即最基本的数据结构——线性表的链式存储结构.比起顺序存储,其好处在于空间使用的灵活性,以及插入.删除操作的高效性.下面给出笔者的链表结构C语言实现.其中算法和细节部分定有可优化之处,欢迎大神指正. // LinkedList.h #ifndef _LINKEDLIST_H #define _LINK…
数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typedef int ElementType; #ifndef _List_H #define _List_H struct Node; typedef struct Node *PtrToNode; typedef PtrToNode List; typedef PtrToNode Position; Li…
数据结构是表示一个集合中包含的数据的一个对象 数组数据结构 数组是一个数据结构 支持按照位置对某一项的随机访问,且这种访问的时间是常数 在创建数组时,给定了用于存储数据的位置的一个数目,并且数组的长度保持固定 插入和删除需要移动数据元素 创建一个新的.较大的或较小的数组,可能也需要移动数据元素 支持的操作 在给定位置访问或替代数组的一个项 查看数组的长度 获取数组的字符串表示 数组操作及Arrary 类方法 用户的数组操作 Array类中的方法 a = Array(10) __init__( c…