
数据结构实验
Re:从零开始的代码生活
菜鸟一个
展开
-
分配式排序 基数排序
转载自百度百科#include<iostream>using namespace std;int maxbit(int data[], int n) //辅助函数,求数据的最大位数{ int d = 1; //保存最大的位数 int p = 10; for (int i = 0; i < n; ++i) { while (data[i] >= p) { p *= 10;原创 2021-11-27 19:56:51 · 176 阅读 · 8 评论 -
选择排序-堆排序
#include<iostream>using namespace std;#define MAX 100 //假定最大长度为100#define OK 1typedef int KeyType; //假定数据类型为inttypedef struct { KeyType key; //关键字项}RedType; //记录类型typedef struct { RedType r[MAX + 1]; //r[0]用作哨兵 int length; //表长}SqLi原创 2021-11-23 17:03:17 · 403 阅读 · 0 评论 -
数据结构实验八 图及其应用
数据结构实验八 图及其应用实验内容1.编写一个程序,完成如下功能:(1) 建立如下有向图G1的邻接矩阵输出,并由邻接矩阵产生邻接表输出之;(2) 输出图G1从顶点0开始的深度优先遍历序列;(3) 输出图G1从顶点0开始的广度优先遍历序列;(4) 用普里姆算法输出从顶点0出发的最小生成树;参考自:https://blog.youkuaiyun.com/chj65/article/details/103935951#include <stdio.h>#include <iostre原创 2021-11-21 09:50:55 · 1538 阅读 · 4 评论 -
数据结构实验七 树和二叉树的基本操作
数据结构实验七 数和二叉树的基本操作实验任务创建一颗二叉树,并对其进行先序遍历。#include <iostream>using namespace std;#define TElemType char#define OK 1typedef struct BiTNode { TElemType data; struct BiTNode* lchild, * rchild;}BiTNode, * BiTree;int CreateBiTree(BiTree& T);原创 2021-11-21 09:42:07 · 441 阅读 · 0 评论 -
数据结构实验六 数组
数据结构实验六 数组实验任务计算两个长度为n的数组a和b对应元素a[i]和b[i] (0<=i<n)之和,保存在第二个数组。#include <iostream>using namespace std;int main(){ int n; cin >> n; int* a = new int[n]; int* b = new int[n]; for (int i = 0; i < n; i++) cin >> a[i]; f原创 2021-11-21 09:40:43 · 425 阅读 · 0 评论 -
数据结构实验五 串及其应用
数据结构实验五 串及其应用1.字符串的基本操作编写一个程序。实现顺序串的各种基本运算,并在此基础上设计一个程序完成如下功能:(1)建立串s=“abcdefghefghijkimn”和串sl=” xyz”;(2)输出串s;(3)输出串s的长度;(4)在串s的第9个字符位置插入串sl而产生串s2;(5)输出串s2;(6)删除串s第2个字符开始的5个字符而产生串s2;(7)输出串s2;(8)将串s第2个字符开始的5个字符替换成串sl而产生串s2;(9)输出串s2;(10)提取串s的第2个原创 2021-11-21 09:37:11 · 908 阅读 · 0 评论 -
数据结构实验四 基于队列的排序操作
数据结构实验四 基于队列的排序操作实验任务仅使用队列的enqueue和dequeue函数将一个循环队列中的元素位置重新调整。初始时,该循环队列中从队头到队尾的值分别为[1,3,6,4,2,9,7,8],使用enqueue和dequeue函数调整后,从队头到队尾的值分别为[1,2,3,4,6,7,8,9]。请编写代码解决上述问题。注意:不允许对queue直接排序,因为这将破坏queue结构。#include <iostream>#include <algorithm> /原创 2021-11-21 09:32:45 · 719 阅读 · 0 评论 -
数据结构实验三 栈
数据结构实验五 栈实验任务一个合法字符串只包含"(“和”)",且以"()"成对出现,判断括号是否合法。#include <iostream>#include <string>using namespace std;#define ERROR 0#define OK 1#define OVERFLOW -2#define MAXSIZE 100typedef char SElemType;typedef struct { SElemType* base; S原创 2021-11-21 09:30:28 · 166 阅读 · 0 评论 -
数据结构实验二 链表的基本操作及应用
实验二 链表的基本操作及应用一、实验目的1.掌握线性表的链式存储结构的表示和实现方法。2.掌握单链表基本操作的算法实现。3.了解单链表的应用。二、实验环境硬件环境要求:PC机(单机)使用的软件名称、版本号以及模块:DEV C++、VS2010等。1.编写一个程序,实现单链表的各种基本运算(假设单链表的元素类型为char),并在此基础上设计一个主程序完成如下功能:(1)初始化单链表h;(2)依次采用尾插法插入a、b、c、d、e元素;(3)输出单链表h;(4)输出单链表h的长度;(原创 2021-11-20 21:45:06 · 1149 阅读 · 0 评论 -
数据结构实验一 顺序表的基本操作
实验一 顺序表的基本操作一、实验目的1.掌握线性表的顺序存储结构的表示和实现方法。2.掌握顺序表基本操作的算法实现。3.了解顺序表的应用。二、实验环境硬件环境要求:PC机(单机)使用的软件名称、版本号以及模块:DEV C++、VS2010等。三、实验内容编写一个程序,实现顺序表的各种基本运算(假设顺序表的元素类型为char),并在此基础上设计一个主程序完成如下功能:(1)初始化顺序表L;(2)依次采用尾插法插入a、b、c、d、e元素;(3)输出顺序表L;(4)输出顺序表L的长度原创 2021-11-20 21:39:37 · 2484 阅读 · 0 评论 -
直接插入排序
数据元素类型typedef int KeyType; //假定数据类型为inttypedef struct { KeyType key; //关键字项}RedType; //记录类型typedef struct { RedType r[MAX + 1]; //r[0]用作哨兵 int length; //表长}SqList; //表的类型函数定义int InitList_Sq(SqList& L); //初始化顺序表void InsertSort(SqList&原创 2021-11-17 18:41:50 · 1004 阅读 · 0 评论 -
内部排序-快速排序
#include<iostream>using namespace std;#define MAX 100 //假定最大长度为100#define OK 1typedef int KeyType; //假定数据类型为inttypedef struct { KeyType key; //关键字项}RedType; //记录类型typedef struct { RedType r[MAX + 1]; //r[0]用作哨兵 int length; //表长}SqLi原创 2021-11-20 21:34:14 · 362 阅读 · 2 评论 -
交换排序-冒泡排序
#include<iostream>using namespace std;#define MAX 100 //假定最大长度为100#define OK 1typedef int KeyType; //假定数据类型为inttypedef struct { KeyType key; //关键字项}RedType; //记录类型typedef struct { RedType r[MAX + 1]; //r[0]用作哨兵 int length; //表长}SqLi原创 2021-11-20 21:07:46 · 227 阅读 · 0 评论