数据结构
HJ_Tan
Now or Not!!!
展开
-
C++ 基本数据结构
C++ 基本数据结构目录C++ 基本数据结构1.向量2.队列3.栈以后会补充1.向量#include<vector>顺序存储empty()size()push_back() 尾部添加pop_back() 尾部删除insert() erase() clear()首元素迭代器 begin()尾元素后一个位置 end()访问:1.0到size()-12.定义迭代器 vector<int>::i...原创 2020-09-11 23:21:41 · 241 阅读 · 0 评论 -
【数据结构C语言】线性表的链式表示和实现
/*函数包括:1.初始化 2.取值 3.查找 4.插入 5.删除 6.建表 7.遍历 8.求长度 9.倒置*/#include<stdio.h>#include<stdlib.h>typedef struct LNode{int data;struct LNode *next;}LNode,*LinkList;//1.初始化void InitList(Li...原创 2018-03-31 13:48:51 · 362 阅读 · 3 评论 -
【数据结构C语言】顺序栈的表示和实现
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ int *base; int *top; int stacksize;}SqStack;//1.初始化void InitStack(SqStack &S){ S.base=(int...原创 2018-03-31 13:50:23 · 363 阅读 · 1 评论 -
【数据结构C语言】链栈的表示和实现
/*栈是栈后入先出的结构,只能从栈顶进出,因此,把链表的头部作为栈顶,尾部作为栈底比较方便*/#include<stdio.h>#include<stdlib.h>typedef struct StackNode{ int data; struct StackNode *next;}StackNode,*LinkStack;//1.初始化voi...原创 2018-03-31 13:51:22 · 271 阅读 · 0 评论 -
【数据结构C语言】循环队列——队列的顺序表示和实现
/*队列是一种先进先出的线性表,它只允许在队尾插入元素,在队头删除元素*/#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ int *base; int front;//头指针,指向对头,出队 int rear;//尾指针,指向对位,进队}SqQue...原创 2018-04-01 21:37:43 · 338 阅读 · 0 评论 -
【数据结构C语言-顺序栈】数制的转化
/*说明:该转化是采用顺序栈的先进后出原则进行的。其中,子函数包括1.顺序栈的初始化 2.入栈 3.出栈 4.取栈顶元素主函数有自己想的函数,还有参照课本的函数*/#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ int *base; int *...原创 2018-04-12 23:35:14 · 524 阅读 · 0 评论 -
【数据结构C语言】邻接矩阵
#include<stdio.h>#define MaxInt 32767#define MVNum 100typedef struct{ char vexs[MVNum]; int arcs[MVNum][MVNum]; int vexnum,arcnum;}AMGraph;int LocateVex(AMGraph G,char v){ ...原创 2018-05-01 22:16:49 · 1423 阅读 · 0 评论 -
【数据结构C语言】二叉树的遍历
//实验4 二叉树的遍历 上机实验/*本实验函数包括1.先序遍历建立二叉树(有无返回值的函数)2.先序遍历递归算法3.中序遍历递归算法4.后序遍历递归算法5.计算深度6.计算结点个数,叶子结点数 7.补充.复制二叉树 8.栈的相关函数 9.中序遍历的非递归算法 10.二叉树左右子树的交换*/#include<stdio.h>#include<stdlib.h>...原创 2018-04-27 11:42:39 · 504 阅读 · 0 评论 -
【数据结构C语言】图的遍历——邻接矩阵
#include<stdio.h>#include<stdlib.h>#define MaxInt 32767#define MVNum 100#define MAXSIZE 100typedef struct{ char vexs[MVNum]; int arcs[MVNum][MVNum]; int vexnum,arcnum;}A...原创 2018-05-04 08:29:42 · 1148 阅读 · 0 评论 -
【数据结构C语言】线性表的表示和实现
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ int *elem; int length;}SqList;//1.初始化void InitList(SqList &L){ L.elem=(int *)malloc(sizeof(int...原创 2018-03-31 13:41:13 · 284 阅读 · 1 评论 -
【数据结构C语言】链队——队列的链式表示和实现
#include<stdio.h>#include<stdlib.h>typedef struct QNode{ int data; struct QNode *next;}QNode,*QueuePtr;typedef struct{ QueuePtr front; QueuePtr rear;}LinkQueue;//1....原创 2018-04-01 21:39:48 · 460 阅读 · 0 评论 -
【数据结构C语言】遍历二叉树
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//栈的相关定义及函数typedef struct{ BiTN...原创 2018-04-19 15:27:47 · 196 阅读 · 0 评论 -
多项式的创建和相加
1. 多项式的创建多项式链表是一个有序表,每项的位置要经过比较才能确定2.多项式相加设p1和p2分别指向Pa和Pb的当前结点,逐一比较两个结点的指数项,对于指数项相同的项,对应系数相加,若和不为0,则将他插入“和多项式”的链表中去;对于指数不相同的项,则通过比较将指数值较小的项插入到“和多项式”链表中去。Pa为“和多项式”,最后把Pb delete掉。代码如下:/*用链表实...原创 2019-01-31 10:05:31 · 1499 阅读 · 0 评论 -
树的基本操作
/*本实验函数包括1.先序遍历建立二叉树(有无返回值的函数)2.先序遍历递归算法3.中序遍历递归算法4.后序遍历递归算法5.计算深度6.计算结点个数,叶子结点数 7.补充.复制二叉树 8.栈的相关函数 9.中序遍历的非递归算法 10.二叉树左右子树的交换*/#include<iostream>#include<stdlib.h>const in...原创 2019-02-19 16:22:58 · 177 阅读 · 0 评论 -
邻接矩阵创建无向网
#include<iostream>const int MaxInt = 32767;//极大值const int MVNum = 100;//最大顶点数using namespace std;typedef struct{ char vexs[MVNum];//顶点表 int arcs[MVNum][MVNum];//邻接矩阵 int vexnum, arcnu...原创 2019-02-20 17:12:41 · 2048 阅读 · 1 评论 -
【数据结构C语言】顺序表的查找——顺序查找
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ char name; int key;}ElemType;typedef struct{ ElemType *R; int length;}SSTable;int Init(SSTabl...原创 2018-05-17 15:37:06 · 1736 阅读 · 1 评论 -
【数据结构C语言】邻接表
#include<stdio.h>#include<stdlib.h>#define MVNum 100typedef struct ArcNode{ int adjvex; struct ArcNode *nextarc;}ArcNode;typedef struct VNode{ char data; ArcNode *fi...原创 2018-05-11 18:38:51 · 397 阅读 · 1 评论 -
【数据结构C语言】顺序表的查找——折半查找
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct{ char name; int key;}ElemType;typedef struct{ ElemType *R; int length;}SSTable;int Init(SSTabl...原创 2018-05-17 15:37:50 · 2785 阅读 · 1 评论 -
【数据结构C语言】排序
/*第十章 内排序 上机实验实验目的:熟悉掌握插入排序、交换排序和选择排序的思想和方法实现。实验要求设有一组记录{38,'b'},{65,'c'},{49,'a'},{97,'d'},{76,'e'},{13,'f'},{27,'g'},{49,'h'},其中每个记录第一个域的数字表示关键字,第二个域的字母表示记录信息。请按照关键字从小到大对记录进行排序,具体要求如下:(1)实现直接插入...原创 2018-05-27 11:37:42 · 436 阅读 · 0 评论 -
【数据结构C语言-队列】舞伴配对
/*舞伴配对问题来舞蹈室的顺序:男-姓名1;男-姓名2;女-姓名3;男-姓名4;女-姓名5;男-姓名6;男-姓名7;女-姓名8;最终配对顺序:男1-女3;男2-女5;男4-女8;男;男;实验过程:->main函数1.建立舞者结构体,依次往队列里加入人员信息(8个人,5男3女)-scanf,struct2.进行配对->函数功能:配对(1)初始化两个队列——InitQu...原创 2018-04-20 00:33:06 · 4343 阅读 · 1 评论 -
删除大于mink小于maxk的所有元素
/*设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中元素相同,也可以不同)。*/#include<iostream>using namespace std;//结点、链表的定义struct LNode{ int data; LNode *next;};typedef LNode *L...原创 2019-01-22 18:28:28 · 2972 阅读 · 0 评论