早教吧作业答案频道 -->其他-->
哪位朋友帮忙做下数据结构的题目,我会非常感谢三.假定一个线性表用带头结点的单链表表示,数据元素是整数类型,头指针为head,(1)试定义单链表的结构;(2)试写出算法(C函数):将
题目详情
哪位朋友帮忙做下数据结构的题目,我会非常感谢
三.假定一个线性表用带头结点的单链表表示,数据元素是整数类型,头指针为head,
(1) 试定义单链表的结构;
(2) 试写出算法(C函数):将该单链表分割为两个均带头结点的单链表:一个是由该单链表的数据元素值为偶数的结点组成的,另一个是由该单链表的数据元素值为奇数的结点组成的,希望在逻辑上仍保持原结点前后之间的相对次序不变;
(3) 分析你的算法的时间复杂度。
三.假定一个线性表用带头结点的单链表表示,数据元素是整数类型,头指针为head,
(1) 试定义单链表的结构;
(2) 试写出算法(C函数):将该单链表分割为两个均带头结点的单链表:一个是由该单链表的数据元素值为偶数的结点组成的,另一个是由该单链表的数据元素值为奇数的结点组成的,希望在逻辑上仍保持原结点前后之间的相对次序不变;
(3) 分析你的算法的时间复杂度。
▼优质解答
答案和解析
typedef struct Node//结点定义
{
int data;
Node *next;
}Node;
//链表拆分,其中head是源链表头指针,oddList是偶数链表头指针,evenList是奇数结点链表
void splitLinklist(Node *head,Node *&oddList, Node *& evenList)
{
Node * p ,*q, *r;
p = head->next;
q = oddList;
r = evenList;
while(p != NULL)
{
if(p->data % 2 == 0)//偶数结点插入oddList
{
q->next = p;
p = p->next;
q = q->next;//q总是指向链表oddList最后一个结点
q->next= NULL;
}
else
{
r->next = p;
p = p->next;
r = r->next;//r总是指向链表evenList最后一个结点
r->next = NULL;
}
}
}
整个过程遍历链表一次,假设链表长度为n,那么时间复杂度就为O(n)
{
int data;
Node *next;
}Node;
//链表拆分,其中head是源链表头指针,oddList是偶数链表头指针,evenList是奇数结点链表
void splitLinklist(Node *head,Node *&oddList, Node *& evenList)
{
Node * p ,*q, *r;
p = head->next;
q = oddList;
r = evenList;
while(p != NULL)
{
if(p->data % 2 == 0)//偶数结点插入oddList
{
q->next = p;
p = p->next;
q = q->next;//q总是指向链表oddList最后一个结点
q->next= NULL;
}
else
{
r->next = p;
p = p->next;
r = r->next;//r总是指向链表evenList最后一个结点
r->next = NULL;
}
}
}
整个过程遍历链表一次,假设链表长度为n,那么时间复杂度就为O(n)
看了哪位朋友帮忙做下数据结构的题目...的网友还看了以下:
以下不属于对供应链管理进行分类的是(2)。A.根据供应链管理的对象B.根据产品类别C.根据数据分布情 2020-05-26 …
已知一组数据a.b.c.d.e.b.e.e.a.且a>b>c>d>e,求这组数据的众数、中位数、平 2020-06-02 …
已知一组数据a,b,c,d,e,b,e,e,a,且a>b>c>d>e,这组数据的众数是多少,中位数 2020-06-02 …
自由旋转链的Kuhn链段长度和等效链段数以及柔顺性参数(特征比C和无扰尺寸A).根据C—C链化学键 2020-06-24 …
获得胰岛素目的基因最佳途径(选择)A.根据胰岛素A链和B链的氨基酸顺序的编码合成B.根据细胞质中成 2020-07-21 …
胰岛素由51个氨基酸形成两条肽链构成,A链有21个氨基酸,B链有30个氨基酸.如图为胰岛素的部分片段 2020-11-07 …
下列关于数据通信链路的说法不正确的是()A.物理链路中间没有任何交换节点B.物理链路是形成逻辑链路的 2020-11-16 …
关于链表,下列说法错误的是A链表是动态分配的一种结构,它根据需要开辟内存单元B链表有头指针变量HEA 2020-12-26 …
根据有关蛋白质的资料,回答问题:Ⅰ胰岛素分子是一种蛋白质分子,现有如下材料:①胰岛素含有2条多肽链, 2021-01-04 …
如图为DNA分子复制图解,请据图回答.(1)该过程正常进行所需的条件是.(2)图中A′链与链相同,B 2021-01-15 …