#include<stdio.h>
#include<conio.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LNode *CreatList(int n)
{
LinkList p,q,L;
int i=0,ch;
L=(LinkList)malloc(sizeof(LNode));
p=q=L;
printf("给链表输入%d个值",n);
scanf("%d",&ch);
while(i<n)
{
p=(LinkList)malloc(sizeof(LNode));
p->data=ch;
q->next=p;
q=p;
scanf("%d",&ch);
i++;
}
q->next=NULL;
return L;
}
void ListInsert(LinkList L)
{
LinkList p,q;
int i=0,n,e;
p=q=L;
printf("要插入链表中的数是:");
scanf("%d",&e);
printf("插入的位置");
scanf("%d",&n);
printf("在第%d个数之前插入%d\n",n,e);
while(i<n-1)
{
p=p->next;
i++;
}
q=(LinkList)malloc(sizeof(LNode));
q->data=e;
q->next=p->next;
p->next=q;
}
void print(LinkList L)
{
LinkList p;
printf("输出链表");
p=L->next;
do
{
printf("%d ",p->data);
p=p->next;
} while(p!=NULL);
}
void main()
{
LinkList h;
int n;
scanf("%d",&n);
h=CreatList(n);
ListInsert(h);
print(h);
getch();
}
单链表的创建,删除,插入操作,其他的操作算法知道,根据这格式就能写出来了!