SWUST OJ1075: 求最小生成树(Prim算法) 题目描述求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。#include< iostream>使用命名空间 std;typedef struct{int n;int e;字符数据[500];整型边[500][500];}图形;typedef struct{int index;整型成本;}mincost;typedef struct{int x;int y;整.
SWUST OJ1013: 哈希表(开放定址法处理冲突) 题目描述采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用开放定址法的线性探测。输入第一行为哈希表的长度n; 第二行为关键字的个数; 第三行为关键字集合; 第三行为要查找的数据。输出如果查找成功,输出关键字所哈希表中的地址和比较次数;如果查找不成功,输出-1。样例输入131116 74 60 43 54 90 46 31 29 88 7716样例输出3,1#include<iostream>#include&l.
SWUST OJ1012: 哈希表(链地址法处理冲突) 题目描述采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法。建立链表的时候采用尾插法。输入第一行为哈西表的长度m;第二行为关键字的个数n;第三行为关键字集合;第四行为要查找的数据。输出如果查找成功,输出该关键字所在哈希表中的地址和比较次数;如果查找不成功,输出-1。样例输入131316 74 60 43 54 90 46 31 29 88 77 78 7916样例输出3,1#include<iostre.
SWUST OJ986: 哈夫曼译码 题目描述通常要求根据给定的编码本对密文进行解码。现已给定相应字符的哈夫曼编码,要求根据编码对密文进行解码。(建立哈夫曼树以及编码、主函数等都已经给出,你只需要填写译码函数void ccode(haffnode hafftree[],int n)即可。const int maxvalue=100;const int maxbit=100;const int maxn=100;#include “iostream”#include “stdio.h”#include “stdli.
SWUST OJ984: 利用二叉树中序及先序遍历确定该二叉树的后序序列 题目描述已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及先序遍历结果,要求输出其后序遍历结果。输入输入数据占2行,其中第一行表示中序遍历结果,第二行为先序遍历结果。输出对测试数据,输出后序遍历结果。样例输入BFDAEGCABDFCEG样例输出FDBGECA#include<iostream>#include<malloc.
SWUST OJ983: 利用二叉树中序及后序遍历确定该二叉树的先序序列 题目描述已知二叉树的中序和先序遍历可以唯一确定后序遍历、已知中序和后序遍历可以唯一确定先序遍历,但已知先序和后序,却不一定能唯一确定中序遍历。现要求根据输入的中序遍历结果及后序遍历结果,要求输出其先序遍历结果。输入第一行为中序序列 第二行为后续序列输出输出为遍历二叉树得到的先序序列样例输入BFDAEGCFDBGECA样例输出ABDFCEG#include<iostream>#include<malloc.h>#include<.
SWUST OJ273: 福布斯富豪榜 题目描述1917年创立的福布斯杂志,在编制各种排行榜方面有86年历史,1982年首次推出富豪榜在全球产生空前影响,现在,一年一度的福布斯全球亿万富翁榜在全世界受到密切关注。福布斯每年编制一百多个有关人物、公司和生活时尚排行榜,在全球范围内,福布斯富豪榜的江湖地位毋庸置疑。他云集了世界各地的富豪们。输入有多组测试数据,少于10。 每组数据两个数N (0 < N < = 10^6)和K ( 0< K <= 10 ,K < N ),表示有N位候选人,要从中选出排名前K的.
SWUST OJ1043: 利用栈完成后缀表达式的计算 题目描述后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将后缀表达式的结果计算出来。输入后缀表达式。以#号作为表达式结束标志。为了简单,处理的数据为0-9的整数。输出计算结果。样例输入3 6 6 2 / - 3 * +#样例输出12#include<iostream>#include<mallo.
SWUST OJ1042: 中缀表达式转换为后缀表达式 题目描述中缀表达式是一个通用的算术或逻辑公式表示方法,操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。后缀表达式不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:(2 + 1) * 3 , 即2 1 + 3 *。利用栈结构,将中缀表达式转换为后缀表达式。(测试数据元素为单个字符)输入中缀表达式输出后缀表达式样例输入A+(B-C/D)*E样例输出ABCD.
SWUST OJ1102: 顺序表上数据的划分问题的实现 题目描述建立一个顺序表L,然后以第一个为分界,将所有小于等于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。输入顺序表长度n;顺序表中的数据元素。输出移动后的数据元素。样例输入1032 5 22 43 23 56 54 57 11 25样例输出25 11 23 22 5 32 43 56 54 57#include<iostream>#include<malloc.h>#include<cstring&g.
SWUST OJ1101: 顺序表中数据的循环移动 题目描述设有长度为n(n>1)的顺序表R,将R中保存的序列循环左移P(0 < P < n)个位置,即将R中的数据由(x0,x1,...,xn-1)变换为(xp,xp+1,...,xn-1,x0,x1,...,xp-1)。如果p值不合法,输出"error!"。输入第一行为数据元素个数n; 第二行为n个整数; 第三行为要左移的位数p输出移动后的序列。样例输入101 2 3 4 5 6 7 8 9 105样例输出6 7 8 9 10 1 2 3 4 .
SWUST OJ960: 双向链表的操作问题 题目描述建立一个长度为n的带头结点的双向链表,使得该链表中的数据元素递增有序排列。(必须使用双向链表完成,数据类型为整型。)输入第一行:双向表的长度;第二行:链表中的数据元素。输出输出双向链表中的数据元素的值。样例输入102 4 6 3 5 8 10 21 12 9样例输出复制2 3 4 5 6 8 9 10 12 21#include<iostream>#include<malloc.h>#include<cstri.
SWUST OJ1045: 集合的交运算的实现 题目描述假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。编程实现集合A和集合B的交运算。输入第一行为集合A的数据元素个数n;第二行输入n个集合A的数据元素 ;第三行为集合B的数据元素的个数;第四行输入m个集合B的数据元素输出A和B的交集样例输入80 5 6 3 8 7 9 1071 3 4 7 8 9 5样例输出5 3 8 7 9#include<iostream>#inc.
SWUST OJ1038: 顺序表中重复数据的删除 题目描述将存储在顺序表中的长度为n的线性表中指定的数据全部删除。输入第一行为顺序表的长度n; 第二行为顺序表中的数据元素; 第三行为指定要删除的元素值。输出如果表不空,输出删除指定值后的线性表;如果删除后表空,则输出-1。样例输入811 22 33 44 44 55 44 6644样例输出11 22 33 55 66#include<iostream>#include<malloc.h>#include<cstring.
SWUST OJ953: 单链表的删除操作的实现 题目描述建立长度为n的单链表,删除第i个结点之前的结点。输入第一行为自然数n,表示链式线性表的长度;第二行为n个自然数表示链式线性表各元素值;第三行为指定的删除参数i。输出指定删除位置合法时候,输出删除元素后的链式线性表的所有元素,元素之间用一个空格隔开。输入不合法,输出"error!"。样例输入51 2 3 4 53样例输出1 3 4 5#include<iostream>#include<malloc.h>#in.
SWUST OJ943: 顺序表插入操作的实现 题目描述建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data。如果指定的数据元素item不存在,则将data插入到顺序表的尾端。(数据类型为整型)输入第一行为顺序表的长度n;第二行为顺序表中的数据元素;第三行为指定的数据元素item;第四行为要插入的数据元素data;输出输出结果为顺序表中的数据元素。样例输入1010 20 30 40 50 60 70 80 90 1005055样例输出10 20 30 40 55 50 60 70.
SWUST OJ942: 逆置顺序表 题目描述建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,...,an),则逆置后的数据元素序列为(an,an-1,an-2,...,a1,a0)。(数据类型为字符型)输入第一行为顺序表的长度n;第二行为顺序表中的数据元素.输出输出为逆置后的顺序表.样例输入7ABCDEFG样例输出G F E D C B A#include<iostream>#include<malloc.h>#inc.
SWUST OJ941: 有序顺序表的合并操作的实现 题目描述已知两非递减的顺序线性表,要求合并成一个新的非递减顺序线性表。(测试数据为整型)输入输入包含四行,第一行为自然数n,表示第一个非递减顺序线性表的长度;第二行为n个自然数构成的非递减顺序线性表;第三行为自然数m,表示第二个非递减顺序线性表的长度;第四行为m个自然数构成的非递减顺序线性表。输出输出:用一行输出合并后的非递减顺序线性表,各数之间用一个空格隔开。样例输入21 332 3 6样例输出1 2 3 3 6#include<io.