![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
线性表
。。。
夜阑優珲
我是真的懒。
展开
-
DS双向链表—祖玛
题解这题用链表不用线性表的原因是会有很多在表中插入和删除的操作,链表在插删时会简单很多。而用双向链表是因为一次消除后要同时向前和向后遍历,使得链表又兼具线性表方便遍历的性质。双向链表在操作上会和链表有所不同,比如插入操作:过程见附图。代码中涉及到很多链表中指针移动的操作,对该操作除了一些附加条件,一定要加的条件就是不能让其指向NULL或者head之类,反正就是移动要限制在一定范围,不然指针很容易会越界。题目问题 D: DS双向链表—祖玛时间限制: 1 Sec 内存限制: 128 MB提交原创 2021-01-08 19:11:58 · 1733 阅读 · 1 评论 -
顺序表练习
题解这道顺序表的题在查找操作这里容易踩坑,这里用的是课本上查找单元中的顺序查找的方式,即数组要从下标1开始存数,每次查找将带查找元素放在下标0的位置,比较时从后往前比较,所以如果查找失败比较次数为n+1。题目问题 A: 顺序表练习时间限制: 1 Sec 内存限制: 128 MB提交: 822 解决: 158[提交][状态][讨论版]题目描述 给出顺序表的初始数据,实现顺序表的定义、创建、插入、删除与查找操作。输入 测试次数t每组测试数据格式如下:第一行: 正整数n,后跟原创 2021-01-08 16:35:36 · 476 阅读 · 0 评论 -
前驱后继(DS线性结构)
题目问题 A: 前驱后继(DS线性结构)时间限制: 1 Sec 内存限制: 128 MB提交: 6 解决: 5[提交][状态][讨论版]题目描述在双向链表中,A有一个指针指向了后继节点B,同时,B又有一个指向前驱节点A的指针。这样不仅能从链表头节点的位置遍历整个链表所有节点,也能从链表尾节点开始遍历所有节点。对于给定的一列数据,按照给定的顺序建立双向链表,按照关键字找到相应节点,输出此节点的前驱节点关键字及后继节点关键字。输入第一行两个正整数n(代表节点个数),m(代表要找的关键字原创 2021-01-03 19:54:47 · 1592 阅读 · 0 评论 -
线性表操作(list)
题解题中说i和j的值合法不代表loc的值合法这题在Unique这里遇到了点问题,这里Unique中是通过调用Delete函数来删除重复节点,而Delete只是通过将元素移到最后并且len–来删,这就会导致Unique一直循环。题目问题 A: 线性表操作(list)时间限制: 1 Sec 内存限制: 128 MB提交: 163 解决: 42[提交][状态][讨论版]题目描述 线性表最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。用lis原创 2021-01-02 11:26:13 · 269 阅读 · 0 评论 -
计算2支股票的M天运动平均价格
题解注意这里的年和月并不是固定为2004/7的!年月日都会变!!!(悲二维数组a1和a2分别存类型为open和close的数据,并且这里将每组数据中的年月日信息和s1、s2价格全都存进一个一维数组。题目问题 M: 计算2支股票的M天运动平均价格时间限制: 1 Sec 内存限制: 128 MB提交: 439 解决: 213[提交][状态][讨论版]题目描述给定2支股票的开盘价和收盘价的N天历史数据,要求按开盘和收盘,分别计算每支股票的每个日期对应的M天移动平均价格。假定两个股票数原创 2020-12-20 23:40:36 · 733 阅读 · 0 评论 -
DS顺序表之循环移位
题目问题 L: DS顺序表之循环移位时间限制: 1 Sec 内存限制: 128 MB提交: 657 解决: 403[提交][状态][讨论版]题目描述顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。以下是移位的多个例子:原数据:1,2,3,4,5,6左移3位:4,5,6,1,2,3,与原数据对比原创 2020-12-20 21:11:26 · 212 阅读 · 0 评论 -
DS顺序表--合并操作
题解这里面的插入方式和顺序表类实现中的插入方式略有不同,类实现中是已知插入位置的,而这里需要比较判断插入位置再进行插入操作。题目问题 K: DS顺序表--合并操作时间限制: 1 Sec 内存限制: 128 MB提交: 603 解决: 352[提交][状态][讨论版]题目描述建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)已知两个递增序列,把两个序列的数据合并到顺序表中,并使得顺序表的数据递增有序输入第1行先输入n表示有n个数据,接着输入n个数据,表示第1原创 2020-12-20 18:51:16 · 261 阅读 · 0 评论 -
DS顺序表--连续操作
题目问题 J: DS顺序表--连续操作时间限制: 1 Sec 内存限制: 128 MB提交: 623 解决: 343[提交][状态][讨论版]题目描述建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)该类具有以下成员函数:构造函数:实现顺序表的初始化。插入多个数据的multiinsert(int i, int n, int item[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(i原创 2020-12-13 21:28:49 · 305 阅读 · 0 评论 -
DS顺序表--类实现
题解注意这里的输入是以1作为第一个元素的。注意删除、插入和查找操作的有效范围不一样。删除和查找都是从0到n-1,而插入要比它们多一个,从0到n。题目问题 I: DS顺序表--类实现时间限制: 1 Sec 内存限制: 128 MB提交: 921 解决: 314[提交][状态][讨论版]题目描述实现顺序表的用C++语言和类实现顺序表属性包括:数组、实际长度、最大长度(设定为1000)操作包括:创建、插入、删除、查找类定义参考输入第1行先输入n表示有n个数据,即n是实原创 2020-12-13 20:43:24 · 838 阅读 · 0 评论 -
DS线性表—多项式相加
题目:问题 D: DS线性表—多项式相加时间限制: 1 Sec 内存限制: 128 MB提交: 353 解决: 175[提交][状态][讨论版]题目描述对于一元多项式 p(x)=p0+p1x+p2x2+ … +pnxn ,每个项都有系数和指数两部分,例如p2x2的系数为p2,指数为2。编程实现两个多项式的相加。例如5+x+2x2+3x3,-5-x+6x2+4x4,两者相加结果:8x2+3x3+4x4其中系数5和-5都是x的0次方的系数,相加后为0,所以不显示。x的1次方同理不原创 2020-11-20 22:32:24 · 1021 阅读 · 0 评论 -
DS循环链表—约瑟夫环(Ver. I - A)
题目:问题 F: DS循环链表—约瑟夫环(Ver. I - A)时间限制: 1 Sec 内存限制: 128 MB提交: 739 解决: 249[提交][状态][讨论版]题目描述N个人坐成一个圆环(编号为1 - N),从第S个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2,S = 1。2号先出列,然后是1号,最后剩下的是3号。要求使用循环链表实现。输入测试数据有多组每组包括3个数N、K、S,表示有N个人,从第S个人开始,数到原创 2020-11-17 23:33:51 · 2701 阅读 · 0 评论 -
DS链表—学生宿舍管理
题目:问题 E: DS链表—学生宿舍管理时间限制: 1 Sec 内存限制: 128 MB提交: 322 解决: 190[提交][状态][讨论版]题目描述假设某校有20间宿舍,宿舍编号101,102,...,120。每间只住一名学生。初始部分宿舍已用。用两个链表(已用宿舍链表和可用宿舍链表)维护宿舍的管理,实现宿舍分配、宿舍交回。约定已用宿舍链表按宿舍号升序链接。初始可用宿舍链表也按宿舍号升序链接。宿舍分配从可用宿舍链表中摘取第一间宿舍分配给学生。学生交回的宿舍挂在可用宿舍链表最后。原创 2020-11-17 12:46:29 · 998 阅读 · 0 评论 -
DS单链表--合并
题目:问题 C: DS单链表--合并时间限制: 1 Sec 内存限制: 128 MB提交: 682 解决: 390[提交][状态][讨论版]题目描述假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并,继续保持递增有序int LL_merge(LinkList& La, LinkList& Lb)输入第1行先输入n表示有n个数据,接着输入n个数据第2行先输入m表示有M个数据,接着输入m个数据输出输出合并后的单链表数据,数据之间用空格隔开样例输原创 2020-11-15 09:50:14 · 963 阅读 · 0 评论 -
DS单链表--结点交换
题目:问题 B: DS单链表--结点交换时间限制: 1 Sec 内存限制: 128 MB提交: 555 解决: 385[提交][状态][讨论版]题目描述用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换交换函数定义可以参考:swap(int pa, int pb) //pa和pb表示两个结点在单链表的位置序号swap (ListNode * p, ListNode * q) //p和原创 2020-11-14 23:32:01 · 645 阅读 · 0 评论 -
DS单链表--类实现
题目:问题 A: DS单链表--类实现时间限制: 1 Sec 内存限制: 128 MB提交: 1057 解决: 405[提交][状态][讨论版]题目描述用C++语言和类实现单链表,含头结点属性包括:data数据域、next指针域操作包括:插入、删除、查找注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据类定义参考输入n第1行先输入n表示有n个数据,接着输入n个数据第2行输入要插入的位置和新数据第3行输入要插入的位置和新数据第4行输入要删除的位置原创 2020-11-14 21:59:35 · 1123 阅读 · 0 评论