急需数据结构算法C语言版:假设有两个元素递增的有序排列线性表A和B,均以单链表作存储结构。试编写算法将A

作者&投稿:任袁 (若有异议请与网页底部的电邮联系)
急需数据结构算法:假设有两个元素递增的有序排列线性表A和B,均以单链表作存储结构。试编写算法将A表和B~

#include"stdio.h"
#include"malloc.h"
struct list
{
int data;
struct list *next;
};
struct list *head1,*head2,*p1,*p2,*q1,*q2;
void main()
{
int n=0;
void unionlist();
p1=q1=(struct list*)malloc(sizeof(struct list));
printf("请输入第一个链表的信息
");
scanf("%d",&p1->data);
while(p1->data!=0)
{
n=n+1;
if(n==1)
head1=q1;
else
q1->next=p1;
q1=p1;
p1=(struct list*)malloc(sizeof(struct list));
scanf("%d",&p1->data);
}
q1->next=NULL;
n=0;
p2=q2=(struct list*)malloc(sizeof(struct list));
printf("请输入第二个链表的信息
");
scanf("%d",&p2->data);
while(p2->data!=0)
{
n=n+1;
if(n==1)
head2=q2;
else
q2->next=p2;
q2=p2;
p2=(struct list*)malloc(sizeof(struct list));
scanf("%d",&p2->data);
}
q2->next=NULL;
unionlist();
}
void unionlist()
{
struct list *head,*p;
int i=0;
p1=head1;
p2=head2;
head=p=(struct list*)malloc(sizeof(struct list));
p->data=0;
while(p1 && p2)
{
if(p1->datadata)
{
p->next=p1;
p=p1;
p1=p1->next;
}
else
{
p->next=p2;
p=p2;
p2=p2->next;
}
}
p->next=p1?p1:p2;
p=head;
printf("合并后的链表为如下:
");
while(p)
{
i=i+1;
if(i==1)
p=p->next;
printf("%3d",p->data);
p=p->next;
}
printf("
");
free(head1);
free(head2);
}

百度一下

#include<iostream>
#include<stdio.h>
#include<malloc.h>
using namespace std;
#define MAXSIZE 100
#define OK 1
#define ERROR 0
#define ElemType char
typedef struct Node
{ ElemType data;
struct Node *next;
}Node, *LinkList;

void InitList(LinkList *L)
{ *L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreatFromHead(LinkList L)
{ Node *s;
char c;
int flag=1;
while(flag)
{ c=getchar();
if(c!='$')
{ s=(Node *)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
flag=0;
}

}
void CreatFromTail(LinkList L)
{ Node *r,*s;
int flag=1;
char c;
r=L;
while(flag)
{ c=getchar();
if(c!='$')
{s=(Node *)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{flag=0;
r->next=NULL;
}

}

}
void PrintLinkList(LinkList L)
{ printf("单链表为:L");
LinkList r=L;
while(r->next!=NULL)
{
r=r->next;
printf("->%c",r->data);
}

}
void main()
{ LinkList LA,LB;
InitList(&LA);
InitList(&LB);
CreatFromHead(LA);
PrintLinkList(LA);
char ch1=getchar();
CreatFromTail(LB);
PrintLinkList(LB);

}

Node节点,依次将线性表中的数据复制到Node中得data中。你要具体的代码?

请C语言版数据结构高手帮帮忙!
答:第一题:include<iostream.h> struct list { int num;struct list *next;}head={0,0};void push(struct list *head,int num){ struct list *p=head;while(p->next&&p->next->num<num){ p=p->next;};struct list *p1=new list;p1->num=num;p1->next=p->next;p->next=p1;} vo...

急需数据结构C语言版(清华大学出版社)的期末考试试题及答案
答:一、 选择题(每小题2分,共24分)1.计算机识别、存储和加工处理的对象被统称为( A )A.数据 B.数据元素 C.数据结构 D.数据类型 2.栈和队列都是( A )A.限制存取位置的线性结构 B.顺序存储的线性结构 C.链式存储的线性结构 D.限制存取位置的非线性结构 3.链栈与...

数据结构 c语言版(严尉敏)
答:我看了一下,好像没有代码,全称是:《数据结构(C语言版)》配书光盘 DSDemo 数据结构算法演示(Windows版)使 用 手 册 一、 功能简介 本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据...

数据结构C语言版图书目录
答:数据结构C语言版图书目录概览:第1章介绍了数据结构的基本概念,包括数据结构的定义(1.1节)、基本术语(1.2节)和抽象数据类型的表示与实现(1.3节)。1.4节重点讲解了算法及其分析,包括算法的定义(1.4.1),设计要求(1.4.2),效率度量(1.4.3)以及存储空间需求(1.4.4)。第2章深入...

数据结构作业(C语言版的)牛人知道一下哈 不胜感激
答:这是我做的两个程序的代码:要是需要更多的排序算法的代码或者其他数据结构实现就跟我联系rain.jiang@qq.com 先给你复制这两个代码:include "stdio.h"include "string.h"include "stdlib.h"define NULL 0 typedef struct bitnode{ char data;struct bitnode *lchild,*rchild;}bitnode,*bitree;/*创建...

数据结构(C语言版) 中一题目的算法
答:/ 题目:已知 线性表 中的元素以值递增有序排列,并以 单链表 做存储结构。试写一高效的算法,删除表中所有值大于 mink 且小于 maxk 的元素(若表中存在这样的元素),同时释放 被删除节点空间,并分析你的算法的 时间复杂度 (注意:mink 和 maxk 是给定的两个 参变量,它们的值可以和表中的...

跪求数据结构(c语言版)的几个问题解答
答:实验一 单链表有一个头节点h e a d,指向链表在内存的首地址。链表中的每一个节点的数据类型为结构体类型,节点有两个成员:整型成员(实际需要保存的数据)和指向下一个结构体类型节点的指针即下一个节点的地址(事实上,此单链表是用于存放整型数据的动态数组)。链表按此结构对各节点的访问需从...

数据结构(C语言版)的目录
答:第1章 绪论1.1 什么是数据结构1.2 基本概念和术语1.3 抽象数据类型的表现与实现1.4 算法和算法分析第2章 线性表2.1 线性表的类型定义2.2 线性表的顺序表示和实现2.3 线性表的链式表示和实现2.4 一元多项式的表示及相加第3章 栈和队列3.1 栈3.2 栈的应有和举例3.3 栈与递归的实现3.4...

数据结构辅导及习题精解C语言版新版内容提要
答:熟练掌握各种数据结构和算法的综合运用技巧,提升他们分析问题和解决问题的能力。为了达成这一目标,我们精心编撰了这本C语言版的《数据结构辅导及习题精解》,涵盖了丰富的理论知识和实战练习,旨在引导读者通过实际操作,加深对数据结构和算法的理解,从而在实践中提升技能。

数据结构算法提问:(C语言)
答:先将二个线性表按升序(或降序)排列,然后各遍历一次,就可以完成插入了.比如:LA 1-3-5-7 LB 2-3-4 LA的第一个结点是1,LB的第一个结点是2,这样,LA找下个结点,发现是3,比LB大,说明LA里没有2,这样把2插入LA,再判断LA的3和LB的3,相等,LA后移,LB也后移,发现LA是5,LB是4,LA比...