此链表可以实现创建,输入,序号查找,数值查找,插入,删除,输出等功能
代码:
#include<stdio.h>
#include<stdlib.h>
//链表的结构体
typedef struct linklist{
int data;//存放数字
struct linklist *next;//指向下一个节点的指针
}*LinkList;
//菜单 (用来画出菜单的函数)
void Menu(void);
//长度(用来测量链表长度的函数)
int Length(LinkList head);
//创建一个新链表(其实就是将前面的链表清除后建个新的表头)
void CreateList(LinkList *head);
//输入
void IntoList(LinkList head);
//按序号查找(输入序号,查找该序号上的数字)
void Findkth(LinkList head);
//按值查找(输入值,查找其第一次出现的位置且求出其总共出现的次数)
void Find(LinkList head);
//插入(输入序号在该位置插入数字)
void Insert(LinkList head);
//删除(输入序号,删除该位置上的数字)
void Delete(LinkList head);
//输出(将链表中的值全部输出)
void OutList(LinkList head);
//清除(将链表全部释放)
void ClearList(LinkList head);
int main(void)
{
LinkList head=NULL;//用来当表头
int trigger;//用户选择服务
while(1)
{
Menu();
scanf("%d",&trigger);
system("cls");
switch(trigger)
{
case 1: CreateList(&head);
break;
case 2: IntoList(head);
break;
case 3: Findkth(head);
break;
case 4: Find(head);
break;
case 5: Insert(head);
break;
case 6: Delete(head);
break;
case 7: OutList(head