📄 1-2.cpp
字号:
#include <stdio.h>
#include<malloc.h>
typedef struct lnode
{
int data;
struct lnode *next;
}lnode,*linklist;
void creatlist_l(linklist &l,int n)
{
l=(linklist)malloc(sizeof(lnode));
l->next = NULL;
linklist p;
linklist q=l;
printf("请输入数据:\n");
for(int i=n;i>0;i--)
{
p=(linklist)malloc(sizeof(lnode));
scanf("%d",&(p->data));
p->next=NULL;q->next=p;q=p;
}
}
void sort_l(linklist &l)
{
int a;
linklist p,q;
p=l->next;
while(p)
{
q=p->next;
while(q)
{
if(p->data>q->data)
{
a=p->data;
p->data=q->data;
q->data=a;
}
q=q->next;
}
p=p->next;
}
printf("排序后链表各元素为:\n");
p=l->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
void listinsert_l(linklist &l,int e)
{
linklist s,p=l;
while(p->next->data<e)p=p->next;
s=(linklist)malloc(sizeof(lnode));
s->data=e;s->next=p->next;
p->next=s;
printf("插入数据后的链式表为:\n");
p=l->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
void listdelete_l(linklist &l,int e)
{
linklist p=l;
while(p->next->data!=e&&p->next)p=p->next;
linklist q;
q=p->next;p->next=q->next;
free(q);
printf("删除数据后的链式表为:\n");
p=l->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
void main()
{
linklist l;
int n;
printf("请输入要输入数据的个数:\n");
scanf("%d",&n);
creatlist_l(l,n);
sort_l(l);
int c;
printf("请选择要进行的操作:1为插入数据;2为删除数据\n");
scanf("%d",&c);
int i;
if(c==1)
{
printf("请输入要插入的数:\n");
scanf("%d",&i);
listinsert_l(l,i);
}
else if(c==2)
{
printf("请输入要删除的数:\n");
scanf("%d",&i);
listdelete_l(l,i);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -