摘要:
描述 给定一个单链表,把所有的奇数结点和偶数结点分别排在一起,重新链成一个新链表。请注意,这里的奇数结点和偶数结点指的是结点编号的奇偶性,而不是结点的值的奇偶性。 要求:空间复杂度应为 O(1),时间复杂度应为 O(n),n 为链表结点总数。 输入 多组数... 阅读全文
摘要:
描述 已知一个整数序列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... 阅读全文
摘要:
描述 设将n(n>1)个整数存放到一维数组R中。试设计一个在时间和空间两方面都尽可能高效的算法,将R中保存的序列循环左移p(0using namespace std;void MoveLeft(int a[],int n,int m){ int i;int... 阅读全文
摘要:
描述 假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀空间。例如,“loading”和“being”的存储映像如下图所示: 设str1和str2分别指向两个单词所在单链表的头结点,请实现一个时间上尽可能高效的算法,找出由st... 阅读全文
摘要:
描述 一个长度为L(L≥1)的升序序列S,处在第L/2(若为小数则去掉小数后加1)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19),则S1的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4... 阅读全文
摘要:
描述 利用单链表表示一个整数序列,实现一个时间复杂度为O(n)的算法,对于链表中绝对值相 等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。 例如,若给定的单链表HEAD如下: 删除后的单链表HEAD为: 输入 多组数据,每组数据有两... 阅读全文
摘要:
#include using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;void InitList(LinkList &... 阅读全文
摘要:
#include using namespace std;#define MAXSIZE 10000typedef struct{ int *elem; int num;}SqList;void InitList(SqList &L){ L.elem=new ... 阅读全文