⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1-2.cpp

📁 一些数据结构的源码
💻 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 + -