数据结构
Joyce--
这个作者很懒,什么都没留下…
展开
-
关于二叉树的一些练习
代码】关于二叉树的一些练习。二叉树的最大值、高度,二叉排序树平衡操作、输出度为1的结点、层次遍历求二叉树的宽度……原创 2022-07-16 10:48:00 · 182 阅读 · 0 评论 -
HASH表的创建(C语言)
HASH表的创建原创 2022-07-11 20:13:06 · 2267 阅读 · 0 评论 -
二叉排序树的增删改查
二叉排序树的增删改查SqQue.c#include<stdio.h>#include<stdlib.h>#include "SqQue.h"/* 功能:初始化队列 参数:@maxl:最大长度 返回值:顺序队列的头指针*/SqQue *InitSqQue(int maxl){ SqQue *q = malloc(sizeof(*q)); q->data = malloc(maxl * sizeof(element)); q->max_len原创 2022-05-24 16:56:34 · 227 阅读 · 0 评论 -
队列的基本操作(入队、出队、清空……)
队列的基本操作(入队、出队、清空……)SqQue.h#ifndef __SQQUE_H__#define __SQQUE_h__typedef int element;typedef struct SqQue{ element *data; //动态定义存储空间大小 int max_len; //存放最多的存储元素个数 int now_len; //当前存放的元素个数 int rear; //队尾下标,下一个入队元素的下标 int f原创 2022-05-06 17:53:48 · 3646 阅读 · 2 评论 -
链式栈的基本操作(入栈、出栈、……)
链式栈LinkStack.h#ifndef __LINKSTACK_H__#define __LINKSTACK_H__#define elemnet inttypedef struct SNode{ element data; //保存栈中的一个元素 struct SNode *next; struct SNode *prev;}SNode;typedef struct LinkStack{ SNode *first; //栈底指针原创 2022-05-03 20:35:03 · 1276 阅读 · 0 评论 -
顺序栈的基本操作(入栈、出栈、遍历、清空……)
顺序栈基本定义栈是仅限定在表尾进行插入和删除的操作的线性表LIFO:last in first out–后进先出一片连续的存储单元SeqStack.h#ifndef __SEQSTACK_H__#define __SEQSTACK_H__#define element xtypedef struct SeqStack{ element *data; //data指向的空间来存储栈中的元素,动态数组,可以不事先定义大小 element maxlen; //栈原创 2022-05-02 16:25:12 · 1956 阅读 · 2 评论 -
双向循环链表增、删、改、查
双向循环链表增、删、改、查cycle.c#include<stdio.h>#include<stdlib.h>#include"cycle.h"//先创建一个空的双向循环链表biList *create(void){ biList *l = malloc(sizeof(*l)); l->first = NULL; return l;}/* 功能:增加一个数据,链表保持升序 参数:@l:头结点;@p:要插入的结点 注意:要考原创 2022-04-26 15:50:30 · 742 阅读 · 0 评论 -
双向链表的增删改查
双向链表的增删改查doubleist.c#include<stdio.h>#include<stdlib.h>#include"doublelist.h"//先创建一个空的双向链表,头结点指向空biList *create(){ biList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; return l;}/* 功能:增加结点,保持升序 参数原创 2022-04-22 18:21:28 · 1118 阅读 · 0 评论 -
删除带头结点链表中最小值的结点
删除带头结点链表中最小值的结点deletemin.c#include<stdio.h>#include<stdlib.h>#include"deletemin.h"LinkedList *create(void){ LinkedList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; element x; printf("请输入数据,以0结尾\n"原创 2022-04-20 20:24:28 · 1247 阅读 · 0 评论 -
带头结点的单链表删除数据
带头结点的单链表删除数据LLWHdelete.c#include<stdio.h>#include<stdlib.h>#include"LLWHdelete.h"LinkedList *create(void){ LinkedList *l = malloc(sizeof(*l)); l->first = NULL; l->last = NULL; return l;}void insert(LinkedList *原创 2022-04-18 14:27:21 · 2343 阅读 · 0 评论 -
带头结点的单链表插入数据
带头结点的单链表插入数据什么是头结点头结点是用来管理链表的结点,这个结点中一般包括常用的管理链表的数据对象,如:指向链表的第一个结点的指针,指向链表最后一个结点的指针,结点个数……代码实现LLWHinsert.c#include<stdio.h>#include<stdlib.h>#include"LLWHinsert.h"//先创建一个空的链表,返回头结点LinkedList *create(void){ LinkedList *l = ma原创 2022-04-13 20:57:37 · 2672 阅读 · 0 评论 -
关于单链表的一些练习
一、在单链表中删除所有值为x的结点,输出删除后的单链表二、逆置单链表一、delete.c#include<stdio.h>#include<stdlib.h>#include"delete.h"Node *create(){ Node *first = NULL; Node *last = NULL; element x; printf("请输入数据,0为结束标志。"); while(1) {原创 2022-04-12 20:29:50 · 297 阅读 · 0 评论 -
链表的增、删、改、查
链表的增、删、改、查linklist.c#include<stdio.h>#include<stdlib.h>#include"linklist.h"/* 功能:创建链表 返回值:链表的头指针*/Node *create(){ Node *first = NULL; //给头、尾结点的地址初始值赋空值、因为还不存在 Node *last = NULL; element x; //输入的数据 print原创 2022-03-30 15:48:51 · 872 阅读 · 0 评论 -
链表的创建 、头插法、尾插法
链表的创建 、头插法、尾插法linklist.c#include<stdio.h>#include<stdlib.h>#include "linklist.h"/* 功能: 创立一个有数据的链表 返回值: 头指针 保存链表第一个结点*/Node *create(){ Node *first = NULL; //还未创建时,第一个结点和最后一个结点都为NULL Node *last = NULL; element x;原创 2022-03-29 13:25:17 · 204 阅读 · 0 评论