数据结构题(救救孩子吧qvq
用c语言描述数据结构实现两个递增有序的单链表的合并,合并后逆置,要求不能增加多余的存储空间。步骤:1)初始化单链表
2)创建单链表
3)单链表的合并
4)链表逆置
5)程序调试运行 提供给你创建有序链表的方法,剩余的部分你自己好好想想,提示一下,链表的逆转使用到了头插法的原理,代码用c++运行
#include <iostream>
#include <stdio.h>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
void Creat(LinkList &head,int n)//n 输入的数据个数
{
int i;
LinkList s,p,q;
head=new LNode;
head->next=NULL;
for(i=1;i<=n;i++)
{
s=new LNode;
printf("请依次输入每一项的数据\n");
scanf("%d",&s->data);
p=head;
q=head->next;
while(q&&q->data<s->data)//每次从头结点开始遍历,找到数据比它大的那一项,插入其中
{
p=q;
q=q->next;
}
p->next=s;
s->next=q;
}
}
页:
[1]