首页 > 代码库 > 单链表的运算实现

单链表的运算实现

线性表的链式存储结构——链表,包含单链表、双链表、循环链表等。单链表的结点由数据元素和指向下一个结点的指针构成,是最简单的一种链表结构。

对单链表的操作非常多,如查找、插入、删除、逆置、打印等,现对这些操作的实现做一个小结,代码用C语言实现。

#include<stdio.h>
#include<stdlib.h>

typedef struct LNode
{
	char data;
	struct LNode *next;
}LinkList;

extern LinkList *CreatListF();//头插法
extern LinkList *CreatListE();//尾插法
extern int LocateList(LinkList *head, char e);//查找结点
extern LinkList *InsertList(LinkList *&head, int i, char e);//插入结点
extern LinkList *DeleteList(LinkList *&head, int i, char &e);//删除结点
extern int LengthList(LinkList *head);//计算链表的长度
extern void PrintList(LinkList *head);//打印链表
extern LinkList *ReverseList(LinkList *&head);//逆置链表

LinkList *CreatListF()
{
	LinkList *head,*p;
	char str[10];
	int i;
	head=(LinkList *)malloc(sizeof(LinkList));
	head->next=NULL;
	printf("please input a string:");
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
		p=(LinkList *)malloc(sizeof(LinkList));
		p->data=http://www.mamicode.com/str[i];>

单链表的运算实现