参考技术A
读入n值及n个整数,建立顺序表并遍历输出。
读入n及n个整数
输出n个整数,以空格分隔(最后一个数的后面没有空格)。
在这里给出一组输入。例如:
在这里给出相应的输出。例如:
若一个线性表L采用顺序存储结构存储,其中所有的元素为整数。设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)。
三行数据,第一行是顺序表的元素个数,第二行是顺序表的元素,第三行是x和y。
删除元素值在[x,y]之间的所有元素后的顺序表。
10
5 1 9 10 67 12 8 33 6 2
3 10
1 67 12 33 2
本题要求实现一个对数组进行循环左移的简单函数:一个数组 a 中存有 n (>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移 m (≥0)个位置,即将 a 中的数据由( a 0 a 1⋯ a n −1)变换为( a m ⋯ a n −1 a 0 a 1⋯ a m −1)(最前面的 m 个数循环移至最后面的 m 个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
输入第1行给出正整数 n (≤100)和整数 m (≥0);第2行给出 n 个整数,其间以空格分隔。
在一行中输出循环左移 m 位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
Julius Caesar曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文。比如字符A用F来代替。如下是密文和明文中字符的对应关系。
密文 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
明文 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
你的任务是对给定的密文进行解密得到明文。 你需要注意的是,密文中出现的字母都是大写 字母。密文中也包括非字母的字符,对这些字符不用进行解码。
输入一行密文字符串,可包含空格。
输出明文字符串。输入明文字符串为空时,输出“NULL”
实验目的:1、掌握线性表的基本知识 2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现 已知顺序表L递增有序,将X插入到线性表的适当位置上,保证线性表有序。。
第1行输入顺序表长度,第2行输入递增有序的顺序表,第3行输入要插入的数据元素X。
对每一组输入,在一行中输出插入X后的递增的顺序表。
在这里给出一组输入。例如:
在这里给出相应的输出。例如:
本周要求挑选3道题目写设计思路,调试过程。设计思路用伪代码描述。题目选做要求:
顺序表选择一题(6-2,6-3,7-1选一题)
单链表选择一题(6-1不能选)
有序表选择一题
一.题目
6-3 jmu-ds- 顺序表删除重复元素
6-2 jmu-ds-单链表逆置
7-1 两个有序链表序列的合并
二.设计思路(伪代码或流程图)
1.6-3 jmu-ds- 顺序表删除重复元素
代码截图:
设计思路:设计算法使重复的元素删除,使剩下的元素间的相对序列保持不变。要对相应的下标进行定义,比较下标,判断元素是否重复,有重复的就对表的长度减一。运用相应的函数对接对重复元素进行删除。
pta提交记录:
2.6-2 jmu-ds-单链表逆置
代码截图:
设计思路:
创建单链表。输入n个正整数,按照输入顺序创建单链表。其中 L
是指向链表的头指针。 n
输入的链表结点个数;要求尾插法
建表
ReverseList:将链表L逆置,用结点指向下一个实现。
PrintList:输出L为头指针的单链表内容
pta提交记录:
3.7-1 两个有序链表序列的合并
代码截图:
设计思路:已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。设计算法输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用?1表示序列的结尾(?1不属于这个序列)。数字用空格间隔。在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL
。
pta提交记录:
三.本周学习总结
1.谈谈你对本周内=数据结构学习时间是如何安排,对自己安排满意么,若不满意,打算做什么改变?
本周数据结构学习对我自己是不满意的,总是跟不上老师的节奏,理解不了题目和书上的意思,又不知道要从何问起,时间安排的话,对数据结构的时间不会安排。要多问同学和老师,基础的东西自己应该看书去理解。
2.谈谈你对线性表的认识.
线性表是具有相同特性的数据元素的一个有限序列。有表头元素和表尾元素,一个线性表可以用一个标识符来命名。