oj——数据结构
程序员阿登
这个作者很懒,什么都没留下…
展开
-
F : DS堆栈--行编辑
使用C++的STL堆栈对象,编写程序实现行编辑功能。行编辑功能是:当输入#字符,则执行退格操作;如果无字符可退就不操作,不会报错。每行输出最终处理后的结果,如果一行输入的字符串经过处理后没有字符输出,则直接输出NULL。本程序默认不会显示#字符,所以连续输入多个#表示连续执行多次退格操作。注意:必须使用堆栈实现,而且结果必须是正序输出。第一行输入一个整数t,表示有t行字符串要输入。每输入一行字符打回车则表示字符串结束。第二行起输入一行字符串,共输入t行。原创 2023-10-07 10:15:55 · 235 阅读 · 0 评论 -
E : DS堆栈--逆序输出(STL栈使用)
输入一个字符串,按字符按输入顺序压入堆栈,然后根据堆栈后进先出的特点,做逆序输出。C++中已经自带堆栈对象stack,无需编写堆栈操作的具体实现代码。本题目主要帮助大家熟悉stack对象的使用,然后实现字符串的逆序输出。个测试实例 第二起,每一行输入一个字符串,注意字符串不包含空格。stack类使用的参考代码。每行逆序输出每一个字符串。原创 2023-10-07 10:10:13 · 428 阅读 · 0 评论 -
C : DS双向链表—前驱后继
在双向链表中,A有一个指针指向了后继节点B,同时,B又有一个指向前驱节点A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对给定的每个关键字,输出此关键字前驱节点关键字和后继节点关键字。如果给定的关键字没有前驱或者后继,则不输出。对于给定的一列数据,按照给定的顺序建立双向链表,按照关键字找到相应节点,输出此节点的前驱节点关键字及后继节点关键字。第一行两个正整数n(代表节点个数),m(代表要找的关键字的个数)。接下来有m个要查找的关键字,每个占一行。原创 2023-10-06 19:33:30 · 424 阅读 · 0 评论 -
B : DS单链表--合并
假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并,继续保持递增有序。原创 2023-10-06 15:50:48 · 198 阅读 · 0 评论 -
A : DS单链表--类实现
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出单链表。注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据。每成功执行一次操作(插入或删除),输出执行后的单链表数据。属性包括:data数据域、next指针域。用C++语言和类实现单链表,含头结点。每成功执行一次查找,输出查找到的数据。第1行输出创建后的单链表的数据。操作包括:插入、删除、查找。数据之间用空格隔开,原创 2023-10-06 10:39:24 · 128 阅读 · 0 评论 -
E : A DS顺序表_删除有序表中的重复元素
给定一个按升序排列的顺序表,请删除所有重复的元素,使得每个元素只出现一次,并输出处理后的顺序表。第二行起,每一行首先输入n,表示有n个元素,接着依次输入n个元素。第一行输入t,表示有t个测试样例。每一行输出处理后的顺序表。原创 2023-09-25 22:33:48 · 263 阅读 · 1 评论 -
D : DS顺序表之循环移位
顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。第3行输入移动方向和移动的位数,左移方向为0,右移方向为1。第4行输入移动方向和移动的位数,左移方向为0,右移方向为1。左移3位:4,5,6,1,2,3,与原数据对比。右移4位:3,4,5,6,1,2,与原数据对比。原数据:1,2,3,4,5,6。原创 2023-09-22 18:26:58 · 230 阅读 · 0 评论 -
B : DS顺序表--连续操作
第2行先输入i表示插入开始的位置,再输入k表示有k个插入数据,接着输入k个数据。建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)第1行先输入n表示有n个数据,即n是实际长度;第3行先输入i表示删除开始的位置,再输入k表示要删除k个数据。顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。小结:二者的核心思路都是一样的 只是有没有封装成函数。第2行输出执行连续插入后的顺序表内容。第3行输出执行连续删除后的顺序表内容。第1行输出创建后的顺序表内容。个位置开始,连续删除。原创 2023-09-22 10:14:37 · 279 阅读 · 0 评论 -
C : DS顺序表--合并操作
第1行先输入n表示有n个数据,接着输入n个数据,表示第1个序列,要求数据递增互不等。第2行先输入m表示有m个数据,接着输入m个数据,表示第2个序列,要求数据递增互不等。已知两个递增序列,把两个序列的数据合并到顺序表中,并使得顺序表的数据递增有序。建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开。第1行输出创建后的顺序表内容。原创 2023-09-22 10:18:01 · 508 阅读 · 0 评论 -
A : DS顺序表--类实现
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容。每成功执行一次操作(插入或删除),输出执行后的顺序表内容。第1行输出创建后的顺序表内容,包括顺序表实际长度和数据。属性包括:数组、实际长度、最大长度(设定为1000)实现顺序表的用C++语言和类实现顺序表。每成功执行一次查找,输出查找到的数据。操作包括:创建、插入、删除、查找。原创 2023-09-22 10:00:05 · 443 阅读 · 0 评论