数据结构算法提问:(C语言)

设有两个线性表LA和LB以链式存储存放,写一个算法实现下列操作:扩大线性表LA,将存在于LB中而不存在于线性表LA中的数据元素插入到线性表LA中。

先将二个线性表按升序(或降序)排列,然后各遍历一次,就可以完成插入了.
比如:
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比LB大,说明LA里不存在4,在LA里插入4
指向LA的指针设置二个,一个指向移之前的,这样比如移到3的时候发现3比LB的2大,就用移之前的插入2这个结点就行了,没啥别的特别的了,
程序应该比较简单就不实现了,只说明下我的思路!~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-09
我看了一下,好像没有代码,全称是:
《数据结构(C语言版)》配书光盘 DSDemo

数据结构算法演示(Windows版)
使 用 手 册

一、 功能简介
本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行过程中栈的变化状况。整个系统使用菜单驱动方式, 每个菜单包括若干菜单项。每个菜单项对应一个动作或一个子菜单。系统一直处于选择菜单项或执行动作状态, 直到选择了退出动作为止。

二、 系统内容
本系统内含84个算法,分属13部分内容,由主菜单显示,与《数据结构》教科书中自第2章至第11章中相对应。各部分演示算法如下:
1. 顺序表
(1)在顺序表中插入一个数据元素(ins_sqlist)
(2)删除顺序表中一个数据元素(del_sqlist)
(3)合并两个有序顺序表(merge_sqlist)
2. 链表
(1)创建一个单链表(Crt_LinkList)
(2)在单链表中插入一个结点(Ins_LinkList)
(3)删除单链表中的一个结点(Del_LinkList)
(4)两个有序链表求并(Union)
(5)归并两个有序链表(MergeList_L)
(6)两个有序链表求交(ListIntersection_L)
(7)两个有序链表求差(SubList_L)

================================================

我有,留下email,最好是Gmail

盘中内容

\DSDemoW 数据结构算法演示系统(Windows版)β测试版
\DSDemoC 数据结构算法演示系统(C语言描述)V3.1C中文版
Readme.txt 光盘使用说明

对不对?
相似回答