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

📄 l2311.cpp

📁 这里面包括数据结构多数的算法
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
//单链表的定义:
typedef int DataType;		//DataType可以是任何相应的数据类型如int, float或char
typedef struct node			//结点类型定义
{	DataType data;			//结点的数据域
	struct node *next;		//结点的指针域
}ListNode;
typedef ListNode *LinkList;

void main()
{
	int i;
	DataType key,x;
	LinkList head;
	ListNode *p;
	LinkList CreateList(void);
	void PrintList(LinkList head);
	LinkList LocateNode(LinkList head,DataType key);
	LinkList GetNode(LinkList head,int i);
	void InsertList(LinkList head,DataType x,int i);
	void DeleteList(LinkList head,int i);
	void DeleteManyList(LinkList head);
	void DeleteEvenList(LinkList head);
	void ChangeCircList(LinkList head);
	void PrintCircList(LinkList head);
	head=CreateList();		//建立单链表
	PrintList(head);		//打印单链表
	printf("输入要查找的值:");
	scanf("%d",&key);
	p=LocateNode(head,key);	//单链表查找
	printf("请输入欲插入元素的位置:");
	scanf("%d",&i);
	printf("请输入欲插入的元素:");
	scanf("%d",&x);
	InsertList(head,x,i);	//单链表插入
	PrintList(head);		//打印单链表
	printf("请输入欲删除结点的位置:");
	scanf("%d",&i);
	DeleteList(head,i);		//单链表删除
	PrintList(head);		//打印单链表
	DeleteManyList(head);	//删除重复值
	PrintList(head);		//打印单链表
	DeleteEvenList(head);	//删除偶数值
	PrintList(head);		//打印单链表
	ChangeCircList(head);	//修改为循环单链表
	PrintCircList(head);	//打印循环单链表
	/*void DivideList(LinkList head,LinkList *A,LinkList *B);
	 //分割成两个单链表
	DivideList(head, &A, &B);
	PrintList(A);
	PrintList(B);
	*/
}

//单链表的建立:
LinkList CreateList(void)
{
	//在此插入必要的语句
}

//单链表的打印:
void PrintList(LinkList head)
{
	//在此插入必要的语句
}

//单链表的查找1:
LinkList LocateNode(LinkList head,DataType key)
{
	//在此插入必要的语句
}

//单链表的查找2:
LinkList GetNode(LinkList head,int i)
{
	//在此插入必要的语句
}

//单链表的插入:
void InsertList(LinkList head,DataType x,int i)
{
	//在此插入必要的语句
}

//单链表的删除:
void DeleteList(LinkList head,int i)
{
	//在此插入必要的语句
}

//删除单链表中重复值:
void DeleteManyList(LinkList head)
{
	//在此插入必要的语句
}

//删除单链表中偶数值:
void DeleteEvenList(LinkList head)
{
	//在此插入必要的语句
}

//修改为循环单链表:
void ChangeCircList(LinkList head)
{
	//在此插入必要的语句
}


//循环单链表的打印:
void PrintCircList(LinkList head)
{
	//在此插入必要的语句
}

/*
//分割成两个单链表
void DivideList(LinkList head,LinkList *A,LinkList *B);
{
	//在此插入必要的语句
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -