
数据结构
努力过
喜欢coding
展开
-
第六章 6.6 图的应用
6.6.1最小生成树6.6.2 最短路径6.6.3 拓扑排序#include#includeusing namespace std;#define MVNum 100#define OK 1#define ERROR 0typedef int OtherInfo;typedef int Status;typedef int VerTexType;ty原创 2017-12-14 15:32:43 · 186 阅读 · 0 评论 -
第六章 6.5 图的遍历
深度优先搜索采用邻接矩阵表示图的深度优先搜索遍历#includeusing namespace std;#define MaxInt 32767#define MVNum 100#define OK 1bool visited[MaxInt];typedef char VerTexType;typedef int ArcType;typedef int Status原创 2017-12-08 16:19:32 · 274 阅读 · 0 评论 -
第六章 6.4 图的存储结构
6.4.1邻接矩阵#includeusing namespace std;//--------图的邻接矩阵存储表示----------- #define MaxInt 32767//表示极大值 #define MVNum 100//最大顶点数 #define OK 1typedef int Status;typedef char VerTexType;//假设定点的数据类型为原创 2017-12-07 17:35:48 · 257 阅读 · 0 评论 -
第5章 遍历二叉树【递归遍历】
一开始本姑娘想来一波神奇的操作让二叉树甘拜于我的键盘之下,然鹅发现,我去,二叉树原来这么奇葩。然后呢,本姑娘就下定决心从简单的开始写,我就不信,指针都被我啃下来了,二叉树我还搞不定你,哼~#include#includemalloc.h>#include#includestring.h>using namespace std;#define MAXSIZE 1000 t原创 2017-11-20 22:29:11 · 222 阅读 · 0 评论 -
第三章 队列【数据结构】【链队列】【循环队列】
最近越来越感觉到c语言指针的强大~~#include#include#define QElemType int#define OK 1#define ERROR 0#define OVERFLOW 0typedef int Status;//------------单链表------------队列的链式存储结构 typedef struct QNode { QEl原创 2017-11-12 20:38:41 · 296 阅读 · 0 评论 -
第四章 串的基本操作【数据结构】
运行截图。自己太久没有这样用过指针了,总是用不好~~下次自己申请了一个指针,就得初始化,不然在判断是否为空的操作下,会导致程序停止运行。(传说中的敲代码5分钟,debug2小时又被我碰上了,泪目)。#include#includestring.h> #include#includemalloc.h>#define ERROR 0#define原创 2017-11-07 16:28:31 · 1338 阅读 · 0 评论 -
codeup 1743: 算法3-4:表达式求值
1743: 算法3-4:表达式求值时间限制: 1 Sec 内存限制: 32 MB献花: 7 解决: 5[献花][花圈][TK题库]题目描述算数四则运算的规则是1)先乘除,后加减;2)从左算到右;3)先括号内,后括号外。由此,算式4+2*3-10/5的计算顺序为4+2*3-10/5=4+6-10/5=4+6-2=8。给定一个以“#”作为结束符的算式,求出算式的原创 2017-07-21 12:17:50 · 4059 阅读 · 1 评论 -
codeup 1742: 算法3-3:迷宫
题目描述 有一个 10 x 10 的迷宫,起点是‘S’,终点是‘E’,墙是‘#’,道路是空格。一个机器人从起点走到终点。当机器人走到一个通道块,前面已经没有路可走时,它会转向到当前面向的右手方向继续走。如果机器人能够过,则留下足迹‘*’,如果走不通,则留下标记‘!’。 下面给出书中的算法,请你模拟机器人的走法输出最终的状态。 图:迷宫算法 输入 一个 10 x 10 的二维字符数组。输原创 2017-06-30 13:22:48 · 1888 阅读 · 0 评论 -
HNCU 1746: 算法4-1,4-3:定位子串
题目描述 将子串在母串中第一次出现的位置找出来。图1:在母串中第pos个位置定位子串的算法 图2:从母串中第pos个位置获得长度为len的子串输入 若干对字符串,每对字符串占一行并用一个空格分开。前一个字符串为母串,后者为子串。字符串只包含英文字母的大小写。每个字符串不超过98个字符。输出 输出子串在母串中首次出现的位置,如果母串中不包含子串则输出0。每个整数占一行。样例输入 ACMCLU原创 2017-06-27 10:33:57 · 998 阅读 · 0 评论 -
HNCU 1330: 算法3-1:八进制数
题目描述 将十进制数转换为八进制,并输出。 图:将十进制数转换为八进制并输出 输入 输入包含若干十进制正整数。输出 输出相应的八进制数,每个占一行。样例输入 1 2 3 7 8 9 19 10020345 样例输出 1 2 3 7 10 11 23 46162771栈的简单应用#include<stdio.h>#include<stdlib.h>#d原创 2017-06-23 18:32:49 · 638 阅读 · 0 评论 -
HNCU 1741: 算法3-2:行编辑程序
题目描述 一个简单的行编辑程序的功能是:接收用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接收一个字符即存入用户数据区”的做法显然不是很恰当。较好的做法是,设立一个输入缓冲区,用以接收用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错原创 2017-06-23 18:24:26 · 958 阅读 · 0 评论 -
HNCU1325: 算法2-3~2-6:Big Bang(静态链表)
1325: 算法2-3~2-6:Big Bang题目描述 复习考研累了的时候看看一集二十分钟左右的《生活大爆炸》也不失为一种乐趣。在剧中Sheldon可以说是一个极品,真不知Leonard是如何忍受这位极品室友成天的唠叨。 你知道么?Sheldon有一个神秘的小本本,记录了所有他从小开始讨厌的人名。Stuart这位漫画店老板就是小本本的一员哦,谁叫他常常毫不客气地挤兑Sheldon,曾多次赌赢过原创 2017-06-21 16:21:42 · 574 阅读 · 0 评论 -
指针知识复习
样例输入 2000 61 样例输出 2000-3-1#include<stdio.h>//输入年和天数,输出对应的年,月,日 void GetData(int *year,int *data) {//该函数读入年份和天数,并通过形参指针将结果写入主函数 scanf("%d%d",year,data);}void Count(int year,int data,int *month原创 2017-06-19 14:07:24 · 286 阅读 · 0 评论 -
HNCU 1328: 算法2-18~2-19:双向循环链表
http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1328题目描述双向链表是在结点中既保存了后一个结点指针又保存了前一个结点指针的链表。这种链表较单向链表而言能够快速查找某一结点的前后结点。下面给出双向链表的定义、插入以及删除算法描述。图1:双向链表示例 (a)结点结构;(b)空的双向循环链表;(c)含有三个原创 2017-06-14 15:17:02 · 657 阅读 · 0 评论 -
2.3线性表的链式表示和实现(静态链表)
#include<stdio.h>#define MAXSIZE 1000//Á´±íµÄ×³¤¶È typedef int ElemType;int m,n;//-------ÏßÐÔ±íµÄ¾²Ì¬µ¥Á´±í´æ´¢½á¹¹---------- typedef struct{ ElemType data; int cur;}component,SLinkList[原创 2017-06-11 22:06:46 · 397 阅读 · 0 评论 -
指针的基本知识点
#include<stdio.h>void A(int *c){//把a指向的地址传入给一个形参指针c,c存的是a指向的地址 int b; c = &b;//b的地址赋值给c,改变的只是形参指针的值 }int main(){ int *a;//定义一个整型指针 printf("%d %d\n", a, &a);//a存的是指向的地址,&a存的是自身的地址原创 2017-06-09 12:00:29 · 539 阅读 · 0 评论 -
HNU1326: 算法2-8~2-11:链表的基本操作
———-题目描述 链表是数据结构中一种最基本的数据结构,它是用链式存储结构实现的线性表。它较顺序表而言在插入和删除时不必移动其后的元素。现在给你一些整数,然后会频繁地插入和删除其中的某些元素,会在其中某些时候让你查找某个元素或者输出当前链表中所有的元素。 下面给你基本的算法描述: ,LB=(2,6,8,9,11,15,20) 则 LC=(2,3,6,6,8,8,9,11,11,15,20) 算法描述如下:原创 2017-06-06 23:10:09 · 963 阅读 · 0 评论 -
HNCU1323: 算法2-1:集合union
以创建1—n的线性表为例进行学习#include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next;} *List,LNode;//创建一个没有头结点的空线性表L。void InitListNohead(List L){ L = NULL; /*头指针为NUL原创 2017-06-01 16:32:00 · 831 阅读 · 0 评论