数据结构
xifengcode
这个作者很懒,什么都没留下…
展开
-
数据结构:二叉排序树的建立与查找
以下代码为二叉排序树的插入、删除与查找。主要的算法参考了严蔚敏老师的数据结构教材。在VC++ 6.0 和 Dev-C++下编译通过。#include "stdio.h"#include "stdlib.h"typedef struct BiTNode { struct BiTNode *lchild, *rchild; int data;} BiTNode, *BiTree;BiTree Root;int SearchBST(BiTree T, int key, BiTre.原创 2020-11-13 23:59:09 · 2150 阅读 · 1 评论 -
数据结构:拓扑排序 完整代码
假设有向图以邻接表存储,每个顶点的名称都用一个字母表示。先输入顶点的数量,再输入各个顶点的名称,最后输入各条边。在输入边时,每次输入两个顶点的名称。输入不存在的两个顶点代表边输入结束。代码主要参考了严蔚敏老师的数据结构教材。在VC++ 6.0和Dev-C++下编译通过。#include "stdio.h"#include "stdlib.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int S.原创 2020-11-07 22:57:48 · 3038 阅读 · 2 评论 -
数据结构:栈的基本操作的实现 完整代码
以下代码为栈的存储结构定义和栈的基本操作的实现。代码主要来自于严蔚敏老师的数据结构教材。代码在VC++ 6.0 和 Dev-C++下编译通过。#include<stdio.h> #include<stdlib.h> #include<math.h> #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status; typedef int Boolean; /*原创 2020-11-07 13:45:51 · 6220 阅读 · 0 评论 -
数据结构:以深度优先搜索方式产生图的生成树 完整代码
图的深度优先搜索可以用来解决很多问题,例如可以用于产生图的生成树。程序代码在VC++6.0和Dev-C++下编译通过。算法的输入和输出为:#include "stdio.h"#include "stdlib.h"#define MAX_VERTEX_NUM 100 typedef int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedef struct { // 图的定义 char vexs[MAX_VERTEX_NUM]; A原创 2020-10-30 22:49:30 · 1895 阅读 · 0 评论 -
数据结构:以广度优先搜索方式产生图的生成树 完整代码
图的广度优先搜索可以用来解决很多问题,例如可以用于产生图的生成树。程序代码在VC++6.0和Dev-C++下编译通过。算法的输入和输出为:#include "stdio.h"#include "stdlib.h"#include <queue>using namespace std; #define MAX_VERTEX_NUM 100 typedef int AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedef .原创 2020-10-30 22:13:37 · 1185 阅读 · 0 评论 -
数据结构:图的邻接矩阵存储与广度优先搜索 完整代码
图的搜索是数据结构课程非常重要的内容。以下代码的存储结构定义、广度优先搜索等算法主要来自于严蔚敏老师的数据结构教材。以下代码在VC++6.0 及 Dev-C++下编译通过。算法的输入:先输入点的个数,再输入各个点的名称,再输入每条边的起点和终点。如果在输入边时起点和终点都输入@,则输入结束。#include "stdio.h"#include "stdlib.h"#include <queue>using namespace std;#define MAX_VERTE.原创 2020-10-29 21:03:07 · 325 阅读 · 0 评论 -
数据结构:图的邻接表存储与深度优先搜索 完整代码
图的搜索是数据结构课程非常重要的内容。以下代码的存储结构定义、深度优先搜索等算法主要来自于严蔚敏老师的数据结构教材。以下代码在VC++6.0 及 Dev-C++下编译通过。算法的输入:先输入点的个数,再输入各个点的名称,再输入每条边的起点和终点。如果在输入边时起点和终点都输入-1,则输入结束。#include "stdio.h"#include "stdlib.h"typedef struct ArcNode { int adjvex; struct ArcNode *nexta原创 2020-10-29 16:02:42 · 486 阅读 · 0 评论 -
数据结构:线索二叉树的创建与遍历 完整代码
InThreading()、InOrderThreading()、InOrderTraverse_Thr()等几个函数来自于严蔚敏老师的数据结构教材,本人编写了main()函数,在VC++6.0和DEV-C++下编译通过。#include "stdio.h"#include "malloc.h"typedef struct BiThrNode { char data; struct BiThrNode *lchild, *rchild; // 左右指针 int LTag, RTag; /原创 2020-10-23 12:12:17 · 2605 阅读 · 5 评论 -
数据结构:多维数组的编程实现
下面给出了多维数组的完整程序。该程序在VC++ 6.0和Dev-C++下编译通过。代码主要参考了严蔚敏老师的教材,本人完成了main函数的编写。注意在Assign和Value两个函数中多定义了一个参数temp用于占位,没有实际用途。如果没有temp这个参数,在VC++6.0下结果不正确。#include "stdio.h"#include "stdlib.h" #include"stdarg.h "#define ERROR 0#define MAX_ARRAY_DIM 8原创 2020-10-04 23:02:24 · 477 阅读 · 0 评论 -
数据结构 循环队列的实现与应用举例:报数问题
循环队列是一种常见的队列实现方式,各个数据元素依次存储,并设置两个指针,分别指向队头和队尾,在插入和删除数据时,队头指针和队尾指针会循环使用存储空间。应用队列可以解决报数问题。报数问题:设有n个人站成一排,从左向右的编号分别为1~n, 现在从左向右报数“1,2,1,2,1,2….”,数到”1”的人出列,数到”2”的人站到队伍最右边。报数过程反复进行,直到n个人都出列为止。分析:可以创建一个队列存储各个数据。左边相当于队头,右边相当于队尾。左边的人报数相当于从队列中取出队头元素并删除队头元素。站到队伍原创 2020-09-23 12:22:32 · 3051 阅读 · 0 评论 -
数据结构 链式队列的实现与应用举例:报数问题
链式队列是一种常见的队列实现方式,通过链表存储队列的各个数据元素,并设置两个指针,分别指向队头和队尾。应用队列可以解决报数问题。报数问题:设有n个人站成一排,从左向右的编号分别为1~n, 现在从左向右报数“1,2,1,2,1,2….”,数到”1”的人出列,数到”2”的人站到队伍最右边。报数过程反复进行,直到n个人都出列为止。分析:可以创建一个队列存储各个数据。左边相当于队头,右边相当于队尾。左边的人报数相当于从队列中取出队头元素并删除队头元素。站到队伍的最右边相当于在队尾插入一个数据。为实现1,2,原创 2020-09-22 22:18:00 · 3798 阅读 · 0 评论 -
数据结构:双向循环链表的实现
以下代码为双向循环链表的实现,在vc++ 6.0 和 Dev-C++ 下编译通过。代码总体上来自于教材,做了少量修改。#include<stdio.h>#include<stdlib.h>#include<math.h> #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 typedef int Status;typedef int Bool原创 2020-09-19 22:18:14 · 1746 阅读 · 0 评论 -
数据结构第3章:数制转换的完整代码
此代码在VC++ 6.0 及Dev-C++下编译通过。#include "stdio.h"#include "stdlib.h"#include "malloc.h"#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct { int *base; int *top; int stacksize; }SqStack;int InitStack(SqStack &S){原创 2020-09-18 23:12:19 · 6170 阅读 · 0 评论 -
数据结构:一元多项式表示及相加的完整代码
一元多项式表示及相加的完整代码是一个链表应用的例子。下面给出了完整的代码,在VC++ 6.0以及 Dev-C++ 下编译通过。测试数据:A多项式输入:7 03 19 85 170 0B多项式输入:8 122 7-9 80 0输出:#include "stdio.h"#include "malloc.h"#include "math.h"typedef struct LNode{ float coef; int exp; struct原创 2020-09-17 12:47:47 · 4745 阅读 · 0 评论