单链表的操作
① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。
② 实现该线性表的遍历。
③ 在该单链表的第i个元素前插入一个整数。
④ 删除该单链表中的第i个元素,其值通过参数将其返回。
⑤ 建立两个按值递增有序的单链表 ,将他们合并成一个按值递减有序的单链表。要求利用原来的存储空间
这是我数据结构老师留下的实验作业,提交之前先发个博客哈!
#include <stdio.h>
#include <stdlib.h>
typedef struct LNode{
int data;//存储数据
struct LNode *next;//指针位
}LNode,*LinkList;
void InitList(LinkList &L)
{//进行初始化
L=(LinkList )malloc(sizeof(LNode));
L->data=0;
L->next=NULL;
}
void CreateList(LinkList &L,int n)
{//输入n个元素
int i,tmp;
LinkList p,q;
printf("请输入%d个元素,以空格隔开,以回车结束\n",n);
q=L;
for(i=0;i<n;i++)
{
scanf("%d",&tmp);
p=(LinkList )malloc(sizeof(LNode));
p->data=tmp;
p->next=q->next;
q->next=p;
q=p;
}
}
void Output(LinkList L)
{//输出
LinkList p;
p=L;
while(p->next)
{
p=p->next;
printf("%d ",p->data);
}
printf("\n