摘要: 描述 给定一个单链表,把所有的奇数结点和偶数结点分别排在一起,重新链成一个新链表。请注意,这里的奇数结点和偶数结点指的是结点编号的奇偶性,而不是结点的值的奇偶性。 要求:空间复杂度应为 O(1),时间复杂度应为 O(n),n 为链表结点总数。 输入 多组数... 阅读全文
posted @ 2020-02-18 10:59 海月CSDN 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 描述 已知一个整数序列A=(a0, a1,…an-1),其中0≤ain/2(0≤pkusing namespace std;void MainElem(int a[],int n){ int i;int flag[100]; for(i=0;in/2... 阅读全文
posted @ 2020-02-18 10:57 海月CSDN 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 描述 设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移p(0using namespace std;void MoveLeft(int a[],int n,int m){ int i;int... 阅读全文
posted @ 2020-02-18 10:55 海月CSDN 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 描述 假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀空间。例如,“loading”和“being”的存储映像如下图所示: 设str1和str2分别指向两个单词所在单链表的头结点,请实现一个时间上尽可能高效的算法,找出由st... 阅读全文
posted @ 2020-02-18 10:53 海月CSDN 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 描述 一个长度为L(L≥1)的升序序列S,处在第L/2(若为小数则去掉小数后加1)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19),则S1的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4... 阅读全文
posted @ 2020-02-18 10:48 海月CSDN 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 描述 利用单链表表示一个整数序列,实现一个时间复杂度为O(n)的算法,对于链表中绝对值相 等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。 例如,若给定的单链表HEAD如下: 删除后的单链表HEAD为: 输入 多组数据,每组数据有两... 阅读全文
posted @ 2020-02-18 10:45 海月CSDN 阅读(388) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void InitList(LinkList &... 阅读全文
posted @ 2020-02-18 10:44 海月CSDN 阅读(185) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std;#define MAXSIZE 10000typedef struct{ int *elem; int num;}SqList;void InitList(SqList &L){ L.elem=new ... 阅读全文
posted @ 2020-02-18 10:42 海月CSDN 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 描述 利用双向链表表示一个整数序列,指定一个结点位置用p指向该结点,交换p所指向的结点及其前驱结点的顺序。 输入 多组数据,每组数据有三行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔),第三行为p所指向的结点位置。当n=0时输入结... 阅读全文
posted @ 2020-02-17 19:17 海月CSDN 阅读(977) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void InitList(LinkList &L){ L=new... 阅读全文
posted @ 2020-02-17 19:15 海月CSDN 阅读(95) 评论(0) 推荐(0) 编辑