📄 dlb.c
字号:
#include <stdio.h>
typedef struct LNODE{ int data;
struct LNODE *next;}LONDE,Linklist;
Linklist creat(Linklist L) /*单链表建立函数 */
{int node; Linklist p;
L=(Linklist)malloc(sizeof(LNODE)); L->data=-1; L->next=NULL;
printf("\n please input the node(end with 0):\n");/*请求输入顺序表中各个元素*/
scanf("%d",&node);
while(node!=0)
{p=(Linklist)malloc(sizeof(LNODE)); p->data=node;
p->next=L->next; L->next=p;
printf("\n please input the node(end with 0):\n"); scanf("%d",&node);}
return L;}
Linklist insert(Linklist L,int i,int x) /*单链表插入函数*/
{int j;Linklist p,s;
p=la; j=0;
while (p!=NULL&&j<i-1) {p=p->next; ++j;}
if (p==NULL||j>i-1)
printf("\n ERROR position!\n");
else { s=(Linklist)malloc(sizeof(LNODE));
s->data=x; s->next=p->next;p->next=s;}
return L;}
Linklist delete(Linklist L,int i) /*单链表删除函数*/
{int j,x; Linklist p,q;
p=la; j=0;
while(p->next!=NULL&&j<i-1)
{p=p->next; ++j;}
if(p->next==NULL||j>i-1)
printf("\n ERROE position!\n");
else { q=p->next; p->next=q->next;
x=q->data; printf("\nthe delete data is:%d\n",x); free(q);}
return L;}
void display(Linklist L) /*单链表元素输出(遍历)函数*/
{Linklist p;
p=la->next;
while(p!=NULL)
{printf("%d ",p->data); p=p->next;}
printf("\n");}
main()/*主函数*/
{ Linklist L; int i,x;
L=creat(L);/*调用单链表建立函数*/
display(L); /*调用单链表元素输出(遍历)函数*/
printf("\n please input the position you want to insert:");/*请求输入插入操作位置*/
scanf("%d",&i);
printf("\n please input the node you want to insert:");/*请求输入需要插入的元素*/
scanf("%d",&x);
L=insert(L,i,x);/*调用单链表插入函数*/
display(L);/*调用单链表元素输出(遍历)函数*/
printf("\n please input the node position you want to delete:"); /*请求输入删除操作位置*/
scanf("%d",&i);
L=delete(L,i); /*调用单链表删除函数*/
display(L); /*调用单链表元素输出(遍历)函数*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -