关于c++ 链表的问题

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:10:04
1、 创建线性表类。线性表的存储结构使用链表。
2、 提供操作:自表首插入元素、删除指定元素、搜索表中是否有指定元素、输出链表。
3、 接收键盘录入的一系列整数(例10,25,8,33,60)作为节点的元素值,创建链表。输出链表内容。
4、 输入一个整数(例33),在链表中进行搜索,输出其在链表中的位置。如果不存在输出0。
5、 使用链表遍历器实现链表的反序输出。
6、 创建两个有序链表,使用链表遍历器实现链表的合并。

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
typedef int ElemType;

typedef struct LNode {
ElemType date;
struct LNode *next;
}linklist,*link;

/*构造链表*//////////////////////////////////////
void IinitList(link &L)
{
if(L)delete L;
L= (link)malloc(sizeof(LNode)) ;
if (!L) exit(1);
L->next=NULL;
cout<<"链表已经建立\n";
}
//////////////////////////////////////////////////////
// /*删除结点*/// //////////////////////////////////////////////
int listdelete(link &L,int i,ElemType &e)
{
link p,q; int j;
p=L;j=0;
while(p->next&&j<i-1)
{
p=p->next;++j;
}

q=p->next;
p->next=q->next;
e=q->date;free(q);
cout<<"链表已经删除\n";
return 1;
}
////////////////////////////////////////////// /////////
// /*