- 博客(13)
- 收藏
- 关注
原创 数据结构oj_12
求有序序列的交集(链表) 问题描述 : 使用带头结点的单链表编程: 有两个有序序列,分别表示两个集合。 求它们的交集并输出。 注意:这里要利用到“有序”的特性。 输入说明 : 第一行输入序列A的信息: 第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据 第一行输入序列B的信息: 第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据 注:两个序列输入时保证有序 输出说明 : 输出交集的元素序列,输出格式见范例。
2020-10-26 00:04:15
244
1
原创 数据结构oj_11
求序列的交集(链表) 问题描述 : 使用带头结点的单链表编程: 有两个序列,分别表示两个集合。 求它们的交集并输出。 输入说明 : 第一行输入序列A的信息: 第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据 第一行输入序列B的信息: 第一个整数n(0<=n<=100),表示共有n个元素,其后有n个整数,表示n个元素的数据 输出说明 : 输出交集的元素序列,输出格式见范例。 如果交集为空,则输出“head–>tail” 交集里的元素顺序,依
2020-10-26 00:04:02
293
1
原创 圆桌问题
问题描述 : 圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。 输入说明 : 输入:好人和坏人的人数n(<=32767)、步长m(<=50); 输出说明 : 输出2n个大写字母,‘G’表示好人,‘B’表示坏人,50个字母为一行。 #include
2020-10-26 00:03:23
497
原创 数据结构oj_10
移除序列指定位置元素(链表) 问题描述 : 使用带头结点的单链表编程: 一群学生排成一行,输入一个位置,将该位置的学生移除。 第一个学生的位置为1,第n个学生的位置为n。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入一个整数,表示要移除的学生位置。 输出说明 : 每次移除一个学生后,在一行里输出完整的学号序列,以head开头,以tail结尾,学号之间以“–>”分隔(参见范例)。 如果
2020-10-25 18:03:02
370
原创 数据结构oj_9
在序列指定位置插入元素(链表) 问题描述 : 使用带头结点的单链表编程: 一群学生排成一行,输入一个位置和一个学号,在该位置插入一个学生。 第一个学生的位置为1,第n个学生的位置为n。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入两个整数,表示要插入的位置及学号。 输出说明 : 每次插入一个学生后,在一行里输出完整的学号序列,以head开头,以tail结尾,学号之间以“–>”分隔(参
2020-10-25 18:01:43
501
原创 数据结构oj_8
查找序列元素(链表) 问题描述 : 使用带头结点的单链表编程: 一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入一个整数,表示要查找的学生学号。 输出说明 : 对于每个要查找的学号,输出一个整数,表示要查找学生的位置。如果共有n个学生,则位置序号为1~n。 如果学生不存在,输出“no”,不包括双引号。 每个输出占一行。 #incl
2020-10-25 18:00:21
436
原创 数据结构oj_7
有序序列的合并(数组) 问题描述 : 使用数组编程: 有两个非递减有序序列,将它们合并成一个非递减有序序列。 注意:编程时要利用到“有序”这个条件,从而降低时间复杂度。 输入说明 : 第一行输入序列A: 第一个整数m(0<=m<=100),表示序列A共有m个元素,其后有m个整数,表示序列A的元素 第二行输入序列B: 第一个整数n(0<=n<=100),表示序列B共有n个元素,其后有n个整数,表示序列B的元素 输出说明 : 输出合并后的序列,数字之间以一个空格分隔。 #include
2020-10-25 17:58:51
279
原创 数据结构oj_6
求并集(数组) 问题描述 : 使用数组编程: 有两个集合,求其并集并输出。 要求:先输入集合A,再输入集合B,然后将B中(不属于集合A)的元素按顺序插入到A的后面(保持在B中的顺序),最后输出集合A(结果)的内容 输入说明 : 第一行输入集合A: 第一个整数m(0<=m<=100),表示集合A共有m个元素,其后有m个整数,表示集合A的元素 第二行输入集合B: 第一个整数n(0<=n<=100),表示集合B共有n个元素,其后有n个整数,表示集合B的元素 输出说明 : 输出集合A和集合B
2020-10-25 17:57:27
180
原创 数据结构oj_5
删除有序序列重复元素(数组) 问题描述 : 使用数组编程: 一个有序的整数序列,其中有重复元素,请删除重复元素。 注意:本题的序列是有序的,要利用到这个特性,从而降低时间复杂度。 输入说明 : 第一行输入一个整数n(0<=n<=100) 第二行输入n个整数,表示有序序列中的元素。输入时已有序。 输出说明 : 输出删除重复元素后的序列。数字之间以一个空格分隔。 #include <iostream> using namespace std; int main() { int n,
2020-10-25 17:56:02
278
1
原创 数据结构oj_4
删除序列重复元素(数组) 问题描述 : 使用数组编程: 一个整数序列,其中有重复元素,请删除重复元素。 输入说明 : 第一行输入一个整数n(0<=n<=100) 第二行输入n个整数,表示序列中的元素。 输出说明 : 输出删除重复元素后的序列。数字之间以一个空格分隔。 如果有多个元素相同,则保留第一个,删除后面所有的重复的元素。 #include <iostream> using namespace std; int main() { int n, i; int number[
2020-10-25 17:53:47
209
原创 数据结构oj_3
在序列指定位置插入元素(数组) 问题描述 : 使用数组编程: 一群学生排成一行,输入一个位置和一个学号,在该位置插入一个学生。 第一个学生的位置为1,第n个学生的位置为n。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入两个整数,表示要插入的位置及学号。 输出说明 : 每次插入一个学生后,在一行里输出完整的学号序列,学号之间以一个空格分隔。 如果需要插入学生的位置不合法,则输出“invali
2020-10-25 17:51:55
331
原创 数据结构oj_2
移除序列指定位置元素(数组) 问题描述 : 使用数组编程: 一群学生排成一行,输入一个位置,将该位置的学生移除。 第一个学生的位置为1,第n个学生的位置为n。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入一个整数,表示要移除的学生位置。 输出说明 : 每次移除一个学生后,在一行里输出完整的学号序列,学号之间以一个空格分隔。 如果需要移除学生的位置不合法,则输出“invalid”(不包括双引
2020-10-25 17:48:32
274
原创 数据结构oj_1
数据结构oj 问题描述 : 使用数组编程: 一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。 输入说明 : 第一行输入学生信息: 第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号 第二行及以后各行,每行输入一个整数,表示要查找的学生学号。 输出说明 : 对于每个要查找的学号,输出一个整数,表示要查找学生的位置。如果共有n个学生,则位置序号为1~n。 如果学生不存在,输出“no”,不包括双引号。 每个输出占一行。 #include <i
2020-10-25 17:45:02
309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人