#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
typedef struct node LNode, *LinkList;
void CreateList(LinkList head);
void PrintList(LinkList head);
void ListDelete(LinkList head,
int i,
int *e);
void ListInsert(LinkList head,
int i,
int e);
int main()
{
LinkList head;
int i, e, select;
head = (LinkList)
malloc (
sizeof(LNode));
head -> next = NULL;
while(
1)
{
printf(
"1: Create a list.\n");
printf(
"2: Insert some elements in the list.\n");
printf(
"3: Delete some elements.\n");
printf(
"4: Print the list.\n");
printf(
"0: Quit!\n");
scanf(
"%d", &select);
switch(select)
{
case 1: CreateList(head);
break;
case 2:
printf(
"Input position and name of the element.\n");
scanf(
"%d%d", &i, &e);
ListInsert(head, i, e);
break;
case 3:
printf(
"Input the position of the element.\n");
scanf(
"%d", &i);
ListDelete(head, i, &e);
case 4: PrintList(head);
printf(
"\n");
break;
case 0:
exit(
0);
}
}
return 0;
}
void CreateList(LinkList head)
{
LinkList p, rear = head;
int num;
while(
scanf(
"%d", &num), num!=-
1)
{
p = (LinkList)
malloc(
sizeof(LNode));
p ->data = num;
rear ->next = p;
rear = p;
}
rear ->next = NULL;
}
void PrintList(LinkList head)
{
LinkList p = head ->next;
while(p)
{
printf(
"%d\n", p ->data);
p = p ->next;
}
}
void ListInsert(LinkList head,
int i,
int e)
{
LinkList p, pre = head;
int j =
0;
while(pre && j<i+
1)
{
pre = pre ->next;
j++;
}
if(!pre || i<
1)
{
printf(
"Input i error\n");
return;
}
p = (LinkList)
malloc(
sizeof(LNode));
p ->data = e;
p ->next = pre->next;
pre ->next = p;
}
void ListDelete(LinkList head,
int i,
int *e)
{
LinkList p, pre;
int j=
0;
while(pre && j<i-
1)
{
pre = pre ->next;
j++;
}
if(!pre || i<
1)
{
printf(
"Input i error\n");
return;
}
p = pre ->next;
pre ->next = p ->next;
*e = p->data;
free(p);
}
ReCclay
认证博客专家
嵌入式软件开发
机器/深度学习
全栈技术学习者
大家好,我是博主ReCclay,目前处于研究生阶段,就读于电子科技大学,主攻方向为汽车辅助驾驶算法研究。入站以来,凭借坚持与热爱,以博文的方式分享所学,截止目前累计博文数量达800余篇,累计受益人次达130w+次,涉及领域包括但不限于物联网开发、单片机开发、Linux驱动开发、FPGA开发、前/后端软件开发等。在未来我将继续专注于嵌入式相关领域,学习更多的科技知识,输出更高质量的博文。
转载请注明原文地址: https://ju.6miu.com/read-8240.html