考研
文章平均质量分 74
御竖躏疯
Talk is cheap,show me the code
展开
-
顺序表的c++实现(参考浙大数据结构公开课)
/*顺序线性表的c++实现与测试*/#includeusing namespace std;/*数组空间大小*/#define MAXSIZE 2typedef int ElementType;/*定义一个指向结构体LNode的指针的数据类型*/typedef struct LNode *List;/*定义Lnode结构体来表示线性表*/struct LNode原创 2018-01-22 19:20:07 · 328 阅读 · 0 评论 -
二叉树中序遍历递归和非递归的c++实现
二叉树的非递归遍历是由以下这个发现产生的:先序,中序,后序遍历过程经过的路线一样,只是访问各结点的时机不同,先序在第一次经过结点时就访问该结点,中序则是第二次。访问结点即是输出该结点,所以只要把该路线表述出来,三种遍历方式只不过是把输出语句放在哪里的问题。重点是如何把下图所示的路线实现出来由于在访问过程中需要先经过一个结点,再在随后的路线中经过,可以用堆栈来表示行走路线用进栈表示第一次访问一个结点...原创 2018-02-22 19:45:30 · 1338 阅读 · 1 评论 -
利用队列对二叉树进行层次遍历
利用队列对二叉树进行层次遍历,需要实现:1队列数据结构,并实现出队,入队,判断队列是否为空三个函数操作2二叉树数据结构,并实现创建二叉树,层次遍历二叉树两个函数操作层次遍历的算法思想及代码如下图所示/*利用队列对二叉树进行层次遍历*/#include<iostream>using namespace std;#define maxsize 100/*定义队列的存储容量*/typedef...原创 2018-03-01 13:25:59 · 6661 阅读 · 0 评论 -
二分查找
二分查找是一种静态查找方法,即在查找过程中不添加删除修改元素,必须要求查找的对象是有序的,与查找序列对应的是一个二叉生成树#include<iostream>using namespace std;/*数组空间大小*/#define MAXSIZE 100typedef int ElementType;/*定义一个指向结构体LNode的指针的数据类型*/typedef struct L...原创 2018-02-18 10:23:28 · 328 阅读 · 0 评论 -
多项式加法的c++实现
/*多项式加法的c++实现,依次(按指数从大到小的顺序)输入两个多项式每一项的系数和指数,输出和多项式的第一项的系数*/#include<iostream> using namespace std;typedef struct PolyNode *Polynomial;/*间接访问多项式结构体的指针*/struct PolyNode{ int coef;/*系数*/ int expon...原创 2018-02-08 13:42:11 · 3511 阅读 · 0 评论 -
C语言实现Hanoi(汉诺塔)问题的递归求解
汉诺塔问题是一个解决方法满足递归结构的典型问题,通过这个例子的学习,可以很好地理解递归的概念。而且利用高中所学的数列知识,可以求出对应n个圆盘数目,需要移动的步数,可以发现当n=64时,移动步数已经是比天文数字还天文数字的天文数字。#include//Hanoi问题的递归求解void main(){ void towerOfHanoi(int n,char from,ch原创 2018-01-30 10:58:44 · 4114 阅读 · 0 评论 -
堆栈的链式存储的C++实现与测试
采用单链表来实现堆栈需要考虑一个问题:使用表头作为栈顶还是表尾作为栈顶?如果使用表尾作栈顶,进栈时在表尾插入一个新元素很方便,但出栈时删除最后一个结点时,需要从头开始查找倒数第二个元素并置其指针域为空。使用表头则没有这种情况发生,本程序即采用表头作为栈顶。/*堆栈的链式存储的C++实现与测试*/#includeusing namespace std;#def原创 2018-01-30 10:47:15 · 415 阅读 · 0 评论 -
一个数组实现两个堆栈的c++实现与测试
采用一个数组实现两个堆栈有两种思路:1两个堆栈按从中间往两头入栈2从两头往中间假设两个堆栈为A,B。采用第一种方式会出现A还有入栈的内存空间,B已经满了,但这时要往B入栈操作,此时数组明明有剩余空间却无法使用。第二种则可以完全利用内存空间,本程序即采用第二种方法。/*一个数组实现两个堆栈的c++实现与测试*/#includeusing namespace std;原创 2018-01-30 10:38:16 · 651 阅读 · 0 评论 -
堆栈顺序存储的c++实现与测试
/*堆栈的顺序存储实现与测试*/#includeusing namespace std;#define ERROR -100 /*定义函数出错时的返回值*/#define maxsize 100/*定义数组空间最大值*/typedef int ElementType;typedef struct SNode *Duizhan;/*定义间接访问堆栈的数据类型*//*定义堆原创 2018-01-30 10:31:27 · 404 阅读 · 0 评论 -
c++实现两个堆栈模拟一个队列
/* 如何用两个堆栈模拟实现一个队列两个堆栈甲和乙,大小分别为m,n(m>n),通过这两个堆栈模拟一个队列我认为队列大小为n+1,元素进队列用进入甲模拟,甲的栈顶做队尾甲的栈底做队列头部,出栈时,用乙做过渡。把甲的元素依次出栈再进入乙,取得队列头部后,再把元素依次从乙出栈,再进入甲入栈操作为O(1),出栈操作为O(n)*/#includeusing namespac原创 2018-02-04 20:26:45 · 579 阅读 · 0 评论 -
单链表的c++实现(参考浙大数据结构公开课)
/*单链表的c++实现*/#includeusing namespace std;typedef int ElementType;typedef struct LNode *List;/*定义一个可以间接访问单链表的至真数据类型*//*链表的结点*/struct LNode{ElementType Data;/*数据域*/List Next;/*指针域*/};原创 2018-01-24 20:24:50 · 230 阅读 · 0 评论 -
2016河南大学计算机硕士研究生复试上机考试第2题
(题目要求读入两个列表,我是写着玩,所以运行程序后需要自己输入两个字符串序列,输入方法为:输入一个字符串序列,回车,输入下一个序列,回车)题目:若两个链表包含相同的项,项的顺序可不同,则它们被称为对方的排列(若一个列表中某一项有K个,则另一个列表中也应有K个)。如,列表<7e7q>和<qe77>互为排列,而<31425>和<53431>则不是写一个程...原创 2018-03-29 15:54:38 · 2522 阅读 · 3 评论