单链表及实现操作
全局变量的定义和函数调用声明
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define Ok 1
#define Error 0
typedef int Elemtype;
typedef struct LNode {
Elemtype data;struct LNode *next; }LNode,*LinkList;
int InitList (LinkList &L);
int print (LinkList L);
int CreateList_1 (LinkList &L,int n);
int CreateList_2(LinkList &L,int n);
int Locate_1 (LinkList L,int i);
int Locate_2 (LinkList L,int i);
int delete_(LinkList &L,int i);
int insert (LinkList &L,int i,int k) ;
InitList 函数:初始化链表
print函数:输出元素
CreateList_1函数:头插法
CreateList_2函数:尾插法
Locate_1函数:位置查找
Lcoate_2函数:数值查找
delete函数:指定位置删除元素
insert函数:指定位置插入元素
主函数及操作
int main()
{
int n,i,j,e,t,k;
LinkList L;
printf ("初始化:");
InitList (L); printf ("\n");//初始化链表 //
printf ("请输入个数\n");
scanf ("%d",&n);
CreateList_1 (L,n) ; //头插法//
print (L);
CreateList_2(L,n) ; //尾插法//
print (L);
printf ("位置:");//位置查找//
scanf ("%d",&i);
Locate_1(L,i);
printf ("数值:"); //数值查找//
scanf ("%d",&j);
Locate_2(L,j);
printf ("要删除位置:");
scanf ("%d",&e);
delete_(L,e);
print(L);
printf ("数字?插入到位置?\n");
scanf ("%d%d",&t,&k);
insert (L,t,k);
print (L);
return 0;
}
初始化函数
int InitList (LinkList &L) //引用类型指针形参//
{
L=(LinkList)malloc (sizeof (LNode)); //头结点分配空间//
L->next =NULL; //头结点指针域置空//
if (L)
printf ("Finish\n")