数据结构
何一平?
这个作者很懒,什么都没留下…
展开
-
c语言实现--数据结构,栈的应用,括号的匹配问题
c语言实现--数据结构,栈的应用,括号的匹配问题原创 2020-05-25 13:48:04 · 379 阅读 · 0 评论 -
c语言实现 ,数据结构----图的邻接表的基本操作(图的建立、初始化、遍历等)和图的邻接矩阵的建立
c语言实现 ,数据结构----图的邻接表的基本操作(图的建立、初始化、遍历等)和图的邻接矩阵的建立原创 2020-05-01 12:20:55 · 1049 阅读 · 0 评论 -
数据结构中树的常用术语
树与非树的区别子树是不相交的除了根节点外,每个节点有且仅有一个父节点一棵N个节点的树有N-1条边树的一些基本术语节点的度:节点的子树个数树的度:树的所有节点中最大的度数叶节点:度为0的节点父节点:有子树的节点是其子树的根节点的父节点子节点:若A节点是B节点的父节点,则称B节点是A节点的子节点:子节点也称孩子节点兄弟节点:具有同一父节点的各节点彼此是兄弟节点祖先节点:沿树...原创 2020-04-18 20:34:03 · 231 阅读 · 0 评论 -
数据结构-------二叉树的基本性质(c语言实现先序遍历、中序遍历、后序遍历、层序遍历、求节点个数等)
文章目录二叉树的特征二叉树的重要性质二叉树的创建二叉树的先序遍历二叉树的中序遍历二叉树的后序遍历二叉树的层序遍历二叉树的深度二叉树的节点数目二叉树叶子节点的数目全部代码测试结果二叉树的特征每个节点最多只有两棵子树每课子树有左右之分,其次序不能颠倒,是有序数二叉树的重要性质在二叉树的第i层上至多有 2^(i-1)个节点深度为k的二叉树上至多含有2^k-1(k>=1)个节点对...原创 2020-04-12 11:48:58 · 567 阅读 · 0 评论 -
数据结构(c语言版)递增的整数序列链表的插入
递增的整数序列链表的插入L是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Insert要将X插入L,并保持该序列的有序性,返回插入后的链表头指针。原创 2020-03-28 20:48:18 · 919 阅读 · 0 评论 -
数据结构(c语言实现)----------有序数组的插入
数据结构(c语言实现)----------有序数组的插入L是用户传入的一个线性表,函数Insert要将X插入Data[]中合适的位置,以保持结果依然有序。但如果X已经在Data[]中了,就不要插入,返回失败的标记0;如果插入成功,则返回true。另外,因为Data[]中最多只能存MAXSIZE个元素,所以如果插入新元素之前已经满了,也不要插入,而是返回失败的标记false。原创 2020-03-27 15:52:21 · 1152 阅读 · 0 评论 -
数据结构(c语言实现)-------二分查找算法
数据结构(c语言实现)-------二分查找算法L是用户传入的一个线性表。函数BinarySearch要查找X在Data中的位置,即数组下标(注意:元素从下标1开始存储)。找到则返回下标,否则返回一个特殊的失败标记NotFound。原创 2020-03-27 14:11:02 · 774 阅读 · 0 评论 -
数据结构(c实现)---- 双向循环链表的创建、插入、删除、遍历等基本操作
数据结构(c实现)---- 双向循环链表的创建、插入、删除、遍历等基本操作双向循环链表双向循环链表和单链表要多一个前驱指针。文章目录双向循环链表创建链表的长度节点的插入节点的删除清空链表遍历链表全部代码创建原创 2020-03-13 22:29:18 · 1921 阅读 · 0 评论 -
数据结构(c语言实现)--顺序表的基本操作,包括初始化、插入、删除、遍历等操作
数据结构(c语言实现)--顺序表的基本操作,包括初始化、插入、删除、遍历等操作顺序表的初始化、插入、删除、遍历、获取指定元素等基本操作顺序表的初始化**bool InitList(Node *l) {l->elem = (int *)malloc(sizeof(int));//对数组的基地址进行初始化if (!l->elem){ return false;}l->listSize = maxLen;l->len = 0;//初始化数...原创 2020-03-12 10:05:52 · 4715 阅读 · 0 评论 -
数据结构(c语言版)------单链表的基本操作(包括单链表的创建、插入、删除、排序等)
数据结构(c语言版)------单链表的基本操作(包括单链表的创建、插入、删除、排序等)单链表的基本操作文章目录单链表的基本操作单链表的创建获取单链表的长度单链表的插入(在某个节点后插入)单链表删除某个节点(根据下标删除当前节点)根据下标获取当前节点的值根据下标修改当前节点的值判断当前连表是否为空清空单链表对单链表进行排序遍历单链表全部代码展示单链表的创建//头插法创建链表bool CreatList(Node *l) { if (l==NULL) { return ...原创 2020-03-12 16:21:12 · 1031 阅读 · 0 评论 -
数据结构(c语言版)-----单向循环链表的基本操作(初始化、插入、删除、修改、遍历等操作)
数据结构(c语言版)-----单向循环链表的基本操作(初始化、插入、删除、修改、遍历等操作)单向循环链表的基本操作单向循环链表和单链表的区别在于:单向循环链表的头节点和尾结点在同一位置,初始化时,要将其头节点和尾结点指向同一位置;并且在判断程序结束条件时,判断的是当前节点是否指向头节点或尾节点。文章目录单向循环链表的基本操作创建单向循环链表头插法尾插法获取单向循环链表的长度在指定位置后插入元素根据下标删除元素根据元素的值删除元素根据下标寻找元素根据值获取元素的下标根据下标修改元素的值...原创 2020-03-12 22:38:07 · 9225 阅读 · 4 评论 -
数据结构(c语言版)----顺序栈的操作(包括顺序栈的初始化、进栈、出栈、栈的长度等)
顺序栈的操作栈 (stack) 是限定仅在表尾进行插入或删除操作的线性表。文章目录顺序栈的操作栈的结构初始化栈进栈栈的长度出栈栈是否为空代码测试栈的结构typedef struct node { int *elem;//可以用指针,也可以用数组。 int top;//定义栈的结构}Node;初始化栈bool InitStack(Node *l) { if (l==NULL)...原创 2020-03-14 11:00:53 · 1933 阅读 · 2 评论 -
数据结构(c语言版)-----链栈的操作(初始化、进栈、出栈、栈的长度等基本操作)
数据结构(c语言版)-----链栈的操作(初始化、进栈、出栈、栈的长度等基本操作)链栈的操作链栈的操作和单链表的操作极为相象文章目录链栈的操作初始化进栈出栈获取栈顶元素获取栈的长度代码测试初始化bool InitStack(Node *s) { if (s==NULL) { return false; } s->next = NULL; printf("输入初始化栈的长度:"); int len; scanf("%d", &len); ...原创 2020-03-14 12:36:00 · 2327 阅读 · 0 评论 -
数据结构(c语言版)-----顺序队列的操作(初始化、进队、出队、队的长度等)
数据结构(c语言版)-----顺序队列的操作(初始化、进队、出队、队的长度等)队的基本操作顺序循环队列的关键语句:队的长度:(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;队尾指针加一:Q.rear=(Q.rear+l)%MAXQSIZE;队头指针加一:Q.front=(Q.front+l)%MAXQSIZE;判断队满:(Q. rear+l) %MAXQSIZE==Q. front判断队空:Q.front==Q. rear文章目录队的...原创 2020-03-16 22:28:27 · 1742 阅读 · 0 评论 -
数据结构(c语言版)-------链队列的初始化、入队、出队、队列的遍历等操作
链队列的基本操作文章目录链队列的基本操作链队列结构初始化入队出队获取队头元素队列的长度获取队尾元素遍历队列测试代码链队列结构typedef struct node { int data; struct node *next;}Node;typedef struct queue { Node *front; Node *rear;}Queue;//链队列的结构初始化bool...原创 2020-03-17 16:22:54 · 3247 阅读 · 0 评论