#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
} Node;
void create(Node *head) //建立链表
{
int t;
Node *s,*r=head;
printf("请输入链表数据:");
while(scanf("%d",&t)!=EOF&&t!=0)
{
s=(Node *)malloc(sizeof(Node));
s->data=t ;
r->next=s;
r=s;
}
r->next=NULL;
}
void delete(Node *head) //删除第i个元素
{
int i,j=0;
Node *p=head,*q;
printf("要删除第几个结点:");
scanf("%d",&i);
while(j<i-1&&p!=NULL)
{
j++;
p=p->next;
}
q=p->next;
p->next=q->next;
free(q);
}
void print(Node *head) //输出线性表
{
printf("\n");
Node *p=head->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
int main()
{
int a[N];
int select;
Node *head=(Node *)malloc(sizeof(Node));
head->next=NULL;
do
{
printf(" ----------------全功链表系统----------------\n\n");
printf(" 1.创建链表(0结束)\n");
printf(" 2.删除链表结点\n");
printf(" 3.输出链表\n");
printf(" 4.退出系统\n\n");
printf(" ----------------全功链表系统----------------\n\n");
printf("请选择[ ]\b\b");
scanf("%d",&select);
if(select==4)
break;
switch(select)
{
case 1:create(head);break;
case 2:delete(head);break;
case 3:print(head);break;
}
}while(1);
}
全功能链表系统
最新推荐文章于 2022-12-01 12:27:38 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)