📄 llist0.h
字号:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
/*-------------------函数结果状态代码--------------*/
#define FALSE 0
#define OK 1
/*-------------------代码状态-------------------------------*/
typedef int Status;
typedef int Element;
typedef struct Node
{
int date;
struct Node *next;
}Node,*LinkList;
/*-------------------------创建链表--------------------------*/
LinkList creat(LinkList L ,int *arr,int n)
{
struct Node *p,*s;
int i;
L=(LinkList)malloc(sizeof(Node));/*开辟空间*/
if(L==NULL) {printf("fail\n"); }
L->date=arr[0];
L->next=NULL;
p=L;
for(i=1;i<n-1;i++) /*存储数据*/
{
s=(struct Node *)malloc(sizeof(Node));
if(!s) {printf("fail\n");}
s->date=arr[i];
s->next=NULL;
p->next=s;
p=s;
}
// p->next=NULL; /*构建循环链表*/
return L;
}
/*--------------------------输出链表-------------------------*/
Status output(LinkList L,int n)
{
LinkList p;
int i;
p=L;
printf("ListLink=");
for(i=0;i<n-1;i++)
{
printf("%3d",p->date);
p=p->next;
}
printf("\n");
return OK;
}
/*---------------------------插入数据---------------------*/
Status insert(LinkList Link,int k,int n)
{
struct Node *p,*s;
int i;
p=Link;
s=(struct Node *)malloc(sizeof(Node));
for(i=1;i<n-1;i++)
{
p=p->next;
}
s->date=k;
s->next=NULL;
p->next=s;
p=s;
return OK;
}
/*------------------------删除数据------------------------------*/
//m代表删除的是第几个数
Status Delete(LinkList Link,int m,int n)
{
struct Node *p,*q;
int i;
if(m>n)
{
printf("you input wrong!");
return FALSE;
}
p=Link;
q=(struct Node *)malloc(sizeof(Node));
for(i=1;i<m-1;i++)
{
p=p->next;
}
q=p->next;
p->next=q->next;
delete q;
return OK;
}
/*---------------------------查找------------------------------*/
//m代表查找的是第几个数
int Find(LinkList Link,int m,int n)
{
struct Node *p;
int i,find;
if(m>n)
{
printf("you input wrong!");
return FALSE;
}
p=Link;
for(i=1;i<m;i++)
{
p=p->next;
}
find=p->date;
return find;
}
/*-------------------------销毁链表----------------------------*/
Status Drop(LinkList Link)
{
delete Link;
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -