![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习
我笑ta人看不穿
冲
展开
-
数独游戏代码C++解法
题目要求很简单 就是给一个6*6的数独输入。原创 2022-08-16 20:36:53 · 1872 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1001: 顺序表(1)Description已知顺序表类的定义如下,实现各个成员函数。主函数中输入数据(以0结束)利用Insert函数依次将数据插入到表的1号位置,利用DispList按照逻辑次序输出表中元素,再输入一个要查找的元素,利用查找函数Locate查找其在表中的位置,最后利用Reverse函数将数据逆序,再利用DispList输出。template <class T>class SeqList{ public: SeqL...原创 2021-01-23 20:00:08 · 2844 阅读 · 2 评论 -
数据结构C++版 王红梅 OJ习题
1002: 顺序表(2)Description已知一个有序顺序表类SortList及main函数的部分代码如下,请完成SortList类的成员函数Insert和DispList,得到对应的运行结果,勿改动main函数。注意:插入函数Insert效率为O(n),不能利用排序算法实现。//有序表类template <class T>class SortList{ public: SortList(){length=0;} //置空表...原创 2021-01-23 20:05:38 · 1644 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1017: 进制转换问题Description利用栈类,实现将一个十进制整数转化为二至九进制之间的任一进制输出。函数原型void Convert(int num,int d),将十进制num转换为d进制,在函数体内实现输出即可。若num为正整数,则算法规则如下:循环(直至num为0){ 将num%d压栈; num/=d;}循环(栈非空){ 栈顶元素弹栈,输出(进制的高位)}要求程序能够处理正、负整数(含0)Input输入:6 2输出:...原创 2021-03-11 13:14:09 · 949 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1016: 循环队列(2)Time Limit:1 SecMemory Limit:128 MBSubmit:417Solved:346[Submit][Status][Web Board]Description在循环队列中增加一个count变量,用来记录当前队列中数据个数,利用该值为0或QueueSize来判断队空或队满条件判断。循环队列类的定义、部分实现及主函数代码如下:#include <iostream>#include <string&g...原创 2021-03-11 13:12:10 · 975 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1015: 循环队列(1)/*循环队列中利用头尾指针front、rear之间的关系实现队满(当队中仅剩一个空闲单元时即视为队满)、队空条件判断。循环队列类的定义、部分实现及主函数代码如下(勿改动),请在此基础上补充实现队列类中未实现的相关算法:*/#include <iostream>#include <string>using namespace std;const int QueueSize=5;template <class T> /...原创 2021-03-11 13:08:02 · 1447 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1014: 链式队列Time Limit:1 SecMemory Limit:128 MBSubmit:455Solved:378[Submit][Status][Web Board]Description已知链式队列类的定义、部分实现及主函数代码(勿改动)如下:template <class T>struct Node{ T data; Node<T> *next;};template <class ...原创 2021-01-25 14:52:28 · 1212 阅读 · 1 评论 -
数据结构C++版 王红梅 OJ习题
1013: 链式栈Description已知链栈类的定义、构造函数及main函数如下,请完成其余的成员函数实现。template <class T>class LinkStack{public: LinkStack( ); //构造函数,置空链栈 ~LinkStack( ); //析构函数,释放链栈中各结点的存储空间 void Push(T x); //将元素x入栈...原创 2021-01-25 14:49:55 · 1345 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1012: 顺序栈Time Limit:100 SecMemory Limit:128 MBSubmit:490Solved:395[Submit][Status][Web Board]Description已知顺序栈类的定义、构造函数及主函数的代码如下,请完成类的其它成员函数,完成相应的输出。const int StackSize=5;//顺序栈的最大长度(请勿改动)template <class T> //定义模板类SeqStack...原创 2021-01-25 14:47:47 · 1340 阅读 · 1 评论 -
数据结构C++版 王红梅 OJ习题
1011: 约瑟夫(Joseff)问题求解(2)Time Limit:1 SecMemory Limit:128 MBSubmit:411Solved:203[Submit][Status][Web Board]Description约瑟夫(Joseff)问题求解。n个人围成一圈,编号依次为1,2,。。。。n,从第一个人开始报数,m号出圈,再从下一个开始报数,。。。,m号出圈,直至所有人出圈。求出圈的次序。要求采用仅设尾指针的单向循环链表实现。已知类的定义、部分成员函数及...原创 2021-01-25 14:44:54 · 979 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1010: 约瑟夫(Joseff)问题求解(1)Description约瑟夫(Joseff)问题求解。n个人围成一圈,编号依次为1,2,。。。。n,从第一个人开始报数,m号出圈,再从下一个开始报数,。。。,m号出圈,直至所有人出圈。求出圈的次序。要求利用数组实现存储。Input输入数据依次为n和mOutputSample Input10 5Sample Output5 10 6 2 9 8 1 4 7 3 #include <iostream>#原创 2021-01-25 14:40:14 · 926 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1009: 双向循环链表Description双向循环链表类的定义、构造函数和析构函数实现及主函数如下(不允许改动主函数)。请完成类的其它成员函数实现。template <class T>struct DNode{ T data; DNode<T> *prior, *next;};template <class T>class DLinkList{public: DLinkList( );...原创 2021-01-25 14:38:18 · 1120 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1008: 单向循环链表Description单向循环表类的定义及部分函数和main函数代码(请勿改动)如下,请完成Length、Insert、Reverse和DispList算法。//单向循环链表类template <class T>class LinkList{public: LinkList( );//建立只有头结点的空链表 ~LinkList();//析构函数 int Length(); //求单链表的长度...原创 2021-01-25 14:33:21 · 1220 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1007: 单向链表(4)Description已知单向链表类,添加Divide函数,实现将链表分解为奇数表A和偶数表B(要求分解出的结点按照头插法的规则插入到链表的头结点之后,即元素序列与原表的序列反向)。主函数及类的定义如下(不允许改动)template <class T>class LinkList{public: LinkList( );//建立只有头结点的空链表~LinkList(); //析构函数 i...原创 2021-01-23 20:26:52 · 1423 阅读 · 2 评论 -
数据结构C++版 王红梅 OJ习题
1006: 单向链表(3)Description1、请在LinkSortList类的基础上添加成员函数Merge,实现将两个有序表A,B的合并为表C,C中序列仍有序。要求利用A,B中的结点进行合并,合并后A,B置为空表。main代码已知,请勿改动。//有序表类template <class T>class LinkSortList{public: LinkSortList( );//建立只有头结点的空链表 ~LinkSortList();...原创 2021-01-23 20:22:51 · 1502 阅读 · 4 评论 -
数据结构C++版 王红梅 OJ习题
1005: 单向链表(2)Description已知一个有序链表类LinkSortList及main函数的部分代码如下,请完成LinkSortList类的成员函数,得到对应的运行结果,勿改动main函数。//有序表类template <class T>class LinkSortList{public: LinkSortList( );//建立只有头结点的空链表 ~LinkSortList(); //析构函数...原创 2021-01-23 20:20:01 · 2385 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1004: 单向链表(1)Description已知链表类的定义如下,实现各个成员函数。主函数中输入数据(以0结束)利用Insert函数依次将数据插入到表的1号位置,利用DispList按照逻辑次序输出表中元素,再输入一个要查找的元素,利用查找函数Locate查找其在表中的位置,最后利用Reverse函数将数据逆序,再利用DispList输出。template <class T>class LinkList{public: LinkList( );//建立...原创 2021-01-23 20:13:49 · 3673 阅读 · 5 评论 -
数据结构C++版 王红梅 OJ习题
1003: 顺序表(3)Time Limit:1 SecMemory Limit:128 MBSubmit:423Solved:315[Submit][Status][Web Board]Description请在上题SortList类的基础上添加成员函数Merge,实现两个有序表的合并。部分代码已经给出,请勿改动。注意:合并算法效率要求为O(m+n),不能借助排序算法实现。//有序表类template <class T>class SortList...原创 2021-01-23 20:10:38 · 1906 阅读 · 5 评论 -
数据结构C++版 王红梅 OJ习题
1018: 表达式求值Description要求输入一个以字符串方式存储的表达式,利用栈,能够计算表达式的值。表达式中允许的运算符为+,-,*,/,%,(,)。函数原型: int CalValue(char *s); s存储表达式,函数返回值为表达式的值,表达式中的操作数为正整数。输入: 15+(3-5)*7输出:1InputOutputSample Input5+7*(25-12)/2-3Sample Output47//// Created by原创 2021-03-11 13:17:43 · 1142 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1019: 顺序存储二叉树Time Limit:1 SecMemory Limit:128 MBSubmit:559Solved:336[Submit][Status][Web Board]Description顺序存储的二叉树,依次实现二叉树的三种递归遍历:先序、中序、后序;二叉树的先序非递归、层次遍历;计算二叉树的叶子个数、高度。部分代码已知,请勿改动,将其它代码补充完整,达到相应的输出结果。//循环队列类const int QueueSize=100; //...原创 2021-03-11 13:21:33 · 1781 阅读 · 2 评论 -
数据结构C++版 王红梅 OJ习题
1020: 二叉链表(1)Description已知二叉链表类,请实现二叉树的先序、中序、后序递归遍历。//OJ-1020 binary tree(1)#include <iostream>#include <string>using namespace std;//二叉树类,实现二叉树的递归算法:三种遍历template <typename DataType>struct BiNode //二叉树的结点结构{DataType data...原创 2021-03-11 13:24:34 · 1619 阅读 · 1 评论 -
数据结构C++版 王红梅 OJ习题
1021: 二叉链表(2)Description/*递归算法计算二叉树的叶子个数和高度。请完成如三个算法:int CountLeaf(BiNode<T> *); //递归算法计算叶子数int Depth(BiNode<T> *); //递归算法计算高度BiNode<DataType> *GetRoot(); //获取私有量root的值部分已知代码如下,请在此基础上补充完善代码:*///二叉树类,实现计算高...原创 2021-03-11 13:26:06 · 1529 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1022: 二叉链表(3)Description/*分别利用栈和队列实现二叉树的先序非递归算法和层次遍历算法。已知部分代码如下:(勿改动),请在此基础上补充实现两个遍历算法*/#include<iostream>#include<string>using namespace std;//循环队列类const int QueueSize=50; //定义存储队列元素的数组的最大长度template <class DataType>...原创 2021-04-19 13:52:10 · 1337 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1023: haffman编码Description根据权值序列构造huffman树,并输出各个权值对应的huffman编码,并计算wpl值。已知部分代码如下:#include <iostream>#include <climits> //INT_MAX#include <string>using namespace std;template <class T>//链式栈struct Node{ T data;...原创 2021-04-19 13:57:56 · 947 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1024: 图的邻接矩阵Description利用邻接矩阵存储结构,完成深度优先遍历和广度优先遍历算法。已知部分代码如下(勿改动),只需完成深度遍历DFSTraverse和广度遍历BFSTraverse即可。#include <iostream>#include <string>using namespace std;//循环队列类const int QueueSize=100; //循环队列的最大长度template ...原创 2021-04-19 14:01:35 · 1446 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1025: 邻接表(1)Description已知有向图采用邻接表存储,部分代码如下,请补充完成计算各个顶点的入度,出度算法。#include <iostream>#include <string>using namespace std;const int MaxSize=20; // 顶点个数的最大值int visited[MaxSize]; //访问标志数组(0表示未访问,1表示已访问)//定义边表结点struct ArcNode...原创 2021-04-19 14:06:20 · 1226 阅读 · 1 评论 -
数据结构C++版 王红梅 OJ习题
1026: 邻接表(2)Description已知邻接表存储的无向图的部分代码如下,请补充完成深度优先、广度优先遍历算法。//graphmain.cpp#include <iostream>#include <string>using namespace std;//循环队列类const int QueueSize=100; //循环队列的最大长度template <class T> //定义模板类CirQueueclass ...原创 2021-04-19 14:09:40 · 1323 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1028: 折半查找(1)Description/*已知有序顺序表类LinearSearch类,实现折半查找。部分代码如下,勿改动,请补充Bin_Search和DispList函数。*/#include <iostream>using namespace std;const int MaxSize=100; //顺序表的最大长度//有序表类class LinearSearch{public:LinearSearch(){n=0;}~LinearSearch(原创 2021-04-19 14:15:51 · 1244 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1029: 折半查找(2)*Description/*已知有序顺序表类LinearSearch类,计算折半查找等概论成功查找条件下的ASL值。部分代码如下,勿改动,请补充Bin_Search和ASL_Bin_Search。*/#include <iostream>using namespace std;const int MaxSize=100; //顺序表的最大长度//有序表类class LinearSearch{public:LinearSear原创 2021-04-19 14:17:54 · 1030 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1030: 折半查找(递归实现)*Description/*已知折半查找的部分代码如下,勿改动。请补充实现折半查找算法Bin_Search。要求:实现方式为递归方法。*/#include<iostream>using namespace std;const int MaxSize=100; //顺序表的最大长度//有序表类class LinearSearch{public:LinearSearch(){n=0;}~LinearSearch原创 2021-04-19 14:33:09 · 1290 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1027: 拓扑排序Description利用邻接表存储结构实现一个有向图的数据输出,计算各顶点的入度,再输出拓扑排序序列,若拓扑排序失败,输出Failure。已知部分代码如下,勿改动。请完成CountInD,TopSort函数。//graphmain.cpp#include <iostream>#include <string>using namespace std;//栈类const int StackSize=100; //10只是示例性的数据,可以根.原创 2021-04-19 14:51:37 · 1349 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1031: 二叉排序树(1)-递归方式Description/*已知二叉排序树BiSortTree的部分代码如下,勿改动。请在此基础上补充实现递归查找算法SearchBST和InsertBST。*/#include <iostream>using namespace std;//BiNodetemplate <typename DataType>struct BiNode{DataType data;BiNode *lchild, *rc原创 2021-05-18 18:45:58 · 1545 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1032: 二叉排序树(2)-非递归方式Time Limit:1 SecMemory Limit:128 MBSubmit:197Solved:170[Submit][Status][Web Board]Description已知二叉排序树部分代码如下,勿改动。请实现非递归函数InsertBST和SearchBST。//BiNodetemplate <class T>struct BiNode{T data;BiNode *lchild, *r...原创 2021-05-18 19:05:11 · 1280 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1033: 散列表(1)Description已知Hash表的表长MaxSize为11,Hash函数为HashFunc(k)=k%11,冲突处理方法为线性探测法,部分代码如下,勿改动。请补充完成成员函数HashSearch,该函数的功能是动态查找k,若查找失败,则插入k,并返回查找失败所需的比较次数,若查找成功,返回查找k所需的比较次数,若表满,则抛出异常“Overflow”#include <iostream>using namespace std;const int M原创 2021-05-18 19:07:51 · 1413 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1034: 散列表(2)Time Limit:1 SecMemory Limit:128 MBSubmit:266Solved:232[Submit][Status][Web Board]Description已知Hash表的表长MaxSize为11,Hash函数为HashFunc(k)=k%11,冲突处理方法为链地址法,部分代码如下,勿改动。请补充完成成员函数HashSearch,该函数的功能是动态查找k,若查找失败,则插入k,并返回查找失败所需的比较次数,若查找成功,返回...原创 2021-06-18 14:42:38 · 1192 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1035: 散列表(3)*Description已知Hash表的表长MaxSize为11,Hash函数为HashFunc(k)=k%11,冲突处理方法为线性探测法,部分代码如下,勿改动。请补充完成成员函数HashSearch,和函数HashASL,其中函数HashSearch的功能是动态查找k,若查找失败,返回查找失败所需的比较次数,若查找成功,返回查找k所需的比较次数。HashASL的功能是计算等概论查找成功时的ASL值。#include<iostream>...原创 2021-06-18 14:46:58 · 1197 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1036: 直接插入排序Description已知直接插入排序的部分代码如下,勿改动,请补充实现插入排序函数。要求输出每趟排序结果。#include<iostream>using namespace std;const int MaxSize=100;class List{private:int r[MaxSize+1];int n;public: List(){n=0;} //empty listvoid InsertR(int k) //表尾插...原创 2021-06-18 15:01:37 · 1423 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1037: 希尔排序Description已知希尔排序的部分代码如下,勿改动,请补充实现希尔排序函数,要求输出每趟排序结果,增量序列取值依次为5,3,1。#include<iostream>using namespace std;const int MaxSize=100;class List{private:int r[MaxSize+1];int n;public: List(){n=0;} //empty listvoid InsertR(int...原创 2021-06-18 15:12:04 · 1194 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1038: 起泡排序Time Limit:1 SecMemory Limit:128 MBSubmit:462Solved:333[Submit][Status][Web Board]Description已知起泡排序的部分代码如下,勿改动,请补充实现起泡排序函数,要求输出每趟排序结果。提示:起泡排序时,当某趟排序时,一次交换也未发生,则该趟排序后,即结束。#include<iostream>using namespace std;const int ...原创 2021-06-18 15:16:10 · 1268 阅读 · 0 评论 -
数据结构C++版 王红梅 OJ习题
1039: 快速排序(1)Description已知快速排序的部分代码如下,勿改动,请补充实现快速排序函数:voidQuickSort(intfirst,intend);//quickSort 要求:输出每趟排序结果#include<iostream>usingnamespacestd;constintMaxSize=100;classList{private:intr[MaxSize+1];intn;public:...原创 2021-06-18 15:24:51 · 1315 阅读 · 0 评论