
数据结构
课上机试题代码实现
C_xixixixi
这个作者很懒,什么都没留下…
展开
-
【数据结构】Prim算法求最小生成树(贪心)
时间复杂度:O(n²)#include<iostream>#define n 6#define INF 999using namespace std;// 定义辅助数组的元素类型 typedef struct{ int lowcost; // 最短的值 int adjvex; // 邻接点 }Element;void Prim(int arc[n][n],int w) { Element shortEdge[10]; // 存储后端最短边集,假设最多10个顶点.原创 2020-05-11 17:35:34 · 543 阅读 · 0 评论 -
【数据结构】(散列表)哈希表的构造
#include < iostream >#include < iomanip >using namespace std;#define NUM 12 // 元素个数#define HASHSIZE 16 // 哈希表长度#define MOD 13 // 哈希表可选地址// 线性处理冲突void collision(int &a...原创 2020-01-11 21:25:43 · 465 阅读 · 0 评论 -
【数据结构】堆排序 -> 折半查找
#include < iostream >using namespace std;#define NUM 10// 一个节点的排序void heappass(int a[],int i, int m){int temp = a[i]; // 保存要转移的根结点的值 int j = 2*i;int flag = 0; // 当前结点大于等于孩子结点的标志,若大于,置...原创 2020-01-11 21:23:18 · 282 阅读 · 0 评论 -
【数据结构】(Dijkstra算法)求单源最短路径
#include < iostream >using namespace std;#define NUM 5#define NIF 999// 定义图typedef struct{int edge[NUM][NUM]; // 各边的指向和权值int n; // n 为顶点数 }Mgragh;// 初建图void initGragh(Mgragh &gh,i...原创 2020-01-11 21:20:44 · 438 阅读 · 0 评论 -
【数据结构】(邻接矩阵 | 图 | DFS)邻接矩阵深度遍历图
#include < iostream >using namespace std;#define NUM 6// 定义图typedef struct{int a[NUM][NUM]; // 表示点之间的关系int vex[NUM]; // 各点存的信息}MGragh;// 图的初始化void initGragh(MGragh &G, int w[][NUM...原创 2020-01-11 21:17:58 · 381 阅读 · 0 评论 -
【数据结构】(二叉树)给定先序序列,非递归先序创建二叉树
#include < iostream >using namespace std;#define NUM 100typedef struct Node{char data;struct Node *lchild,*rchild;}TreeNode,*pTreeNode;typedef struct{pTreeNode *elem[NUM]; // 存的是结点的 ...原创 2020-01-11 21:14:29 · 627 阅读 · 0 评论 -
【数据结构】(串)字符串的连接、求子串
(题目)编写程序实现字符串的连接strCon(S,T,V)和求子串subString(sub,S,pos,len)的功能函数。【要求】不适用任何字符串相关的库函数。#include < iostream >using namespace std;// 字符串的连接void strCon(char *&S,char *T,char *V){int lenT,lenV...原创 2020-01-11 21:12:01 · 3526 阅读 · 0 评论 -
【数据结构】(二叉树)创建、遍历完全二叉树
#include < iostream >#define NUM 100using namespace std;// 定义二叉树结点typedef struct TreeNode{int data;struct TreeNode *lchild,*rchild;}TreeNode, *pTreeNode;// 递归创建二叉树pTreeNode createTree(...原创 2020-01-11 21:06:25 · 275 阅读 · 0 评论 -
【数据结构】(邻接表)稀疏矩阵链式存储
#include < iostream >#include < cstdlib > // malloc 必备的头文件#define NUM 5 // 矩阵的行数using namespace std;// 每行的单链表结点定义typedef struct LNode{int data,adj; // 值,列 (存放信息)struct...原创 2020-01-11 21:04:07 · 1014 阅读 · 0 评论 -
【数据结构】(循环队列)间隔报数出列
#include < iostream >#define NUM 8using namespace std;typedef struct{int data[NUM+1];int front;int rear;}SqQueue;// 初始化循环队列void initQueue(SqQueue &qu){qu.front = qu.rear = NUM; /...原创 2020-01-11 20:54:14 · 544 阅读 · 0 评论 -
【数据结构】(栈)八皇后问题
#include#include#define maxSize 8 // 皇后数(行、列值)#define Elemtpye intusing namespace std;typedef struct{Elemtpye data[maxSize];int top;}Stack;// 初始化栈void initStack(Stack &S) // !!要“& ...原创 2020-01-11 20:52:15 · 1236 阅读 · 0 评论 -
【数据结构】(栈)判断回文数
// 定义栈typedef struct{char data[maxSize];int top;}Stack;// 初始化栈void initStack(Stack &S) // !!要“& ”{S.top = -1;}// 判空int empty(Stack S){if(S.top == -1)return 1;return 0;}// 进栈v...原创 2020-01-11 20:50:12 · 985 阅读 · 0 评论 -
【数据结构】(快速排序)三份切割快速排序法处理具有多个关键字的枢轴
#includeusing namespace std;void quicksort(int a[],int low,int high){int i,j,m;i = low;m = low; // m指向相同关键字部分的最右端j = high;int piv = a[low]; // 记录枢轴的值(枢轴有多个)if(low>=high) // 判断是否构成快速排序的条...原创 2020-01-11 20:48:12 · 229 阅读 · 0 评论 -
【数据结构】(双链表)无序数组正序创建链表,插入排序
#include#includeusing namespace std;// 结点的定义typedef struct DLNode{int data;struct DLNode* prior;struct DLNode* next;}DLNode;// 初始化循环双链表//void initLinklist(DLNode *&S)//{// S = (DLNode...原创 2020-01-11 20:44:41 · 290 阅读 · 0 评论 -
【数据结构】(单链表)无序数组正序创建链表,插入排序
#include#includeusing namespace std;// 结点的定义typedef struct LNode{int data;struct LNode* next; }LNode;// 创建单循环链表 (尾插法)void createLinklist(LNode *&S,int a[],int n) // a??{LNode *s,*r; /...原创 2020-01-11 20:43:32 · 771 阅读 · 0 评论 -
【数据结构】(双向循环链表)实现字母表移动
#include#include#define NUM 100using namespace std;// 双链表的结点typedef struct DLnode{char data;struct DLnode *prior;struct DLnode *next;}DLnode;// 创建双链表void createLinklist(DLnode *&S,char...原创 2020-01-11 20:40:41 · 282 阅读 · 0 评论 -
【数据结构】双链表的基本操作
#include#define NUM 100using namespace std;// 定义顺序表typedef struct{int data[NUM];int size;}Sqlist;// 初始化顺序表 **必须要!!构建C表的时候会用上void initSqlist(Sqlist &L){L.size = 0;}// 创建顺序表void crea...原创 2020-01-11 20:38:10 · 233 阅读 · 0 评论