//2020年9月9日
#include
#include
#define OK 1
#define ERROR 0
typedef char ElemType;
//存储结构描述
typedef struct Node
{
ElemType data;
struct Node* next;
}Node*linkList;
//初始化单链表
InitList(linkList *L)
{
*L=(linkList)malloc(sizeof(Node)); //建立头结点
(*L)->next=NULL; //建立空的单链表L
}
//头插法建立单链表
void CreatFromHead(linkList L)
{
Node *s;
int flag=1;
char c;
while(flag)
{
c=getchar();
if(c!=‘$‘)
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
//尾插法建立单链表
void CreatFromTail(linkList L)
{
printf(“尾插法建立单链表,请输入字符:“);
Node*s*r;
char c;
r=L;
int flag=1;
while(flag)
{
c=getchar();
if(c!=‘$‘)
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
//输出单链表
void DispList(linkList L)
{
linkList p=L->next;
while(p!=NULL)
{
printf(“%c“p->data);
p=p->next;
}
}
//按序号查找
Node* Get(linkList Lint i)
{
int j;
Node *p;
if(i<=0) return(NULL);
p=L;j=0;
while((p->next!=NULL)&&(j {
p=p->next;
j++;
}
if(i==j) return p;
else return(NULL);
}
//按值查找
Node* Locate(link
评论
共有 条评论