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

📄

📁 线性表的顺序表操作.数据结构C语言版作业的实验.
💻
字号:
#include"stdio.h"

#define MaxSize 50

typedef char ElemType;

typedef struct
{
	ElemType List[MaxSize];
	int Size;
}SqList;

void SetNull(SqList *L) // 置空表
{
	L->Size=0;
}

int Length(SqList *L) // 求长度
{
	return (L->Size);
}

ElemType Get(SqList *L,int i) // 取表中第i个节点
{
	if(i<1 || i>L->Size)
	{
		printf("位置参数不合法,只能在1~%d之间!\n",L->Size);
		return ('#');
	}
	else
		return (L->List[i-1]);
}

int Locate(SqList *L,ElemType x) // 按值查找
{
	int i=0;
	while(i<L->Size && L->List[i]!=x)
		i++;
	if(i==L->Size)
		return (-1);
	else
		return (i+1);
}

void Insert(SqList *L,ElemType x,int i) // 插入节点
{
	int j;
	if(i<1 || i>L->Size+1)
		printf("位置参数不合法,只能在1~%d之间!\n",L->Size+1);
	else
	{
		L->Size++;
		for(j=L->Size-1;j>=i;j--) // 节点向后移动,挪出一个位置
			L->List[j]=L->List[j-1];
		L->List[j]=x;
	}
}

void Delete(SqList *L,int i) // 删除节点
{
	int j;
	if(i<1 || i>L->Size)
		printf("位置参数不合法,只能在1~%d之间!\n",L->Size);
	else
	{
		for(j=i-1;j<L->Size-1;j++) // 节点向前移动,覆盖删除的节点
			L->List[j]=L->List[j+1];
		L->Size--;
	}
}

void Display(SqList *L) // 显示顺序表
{
	int j;
	if(L->Size==0) 
		printf("该顺序表为空,不能显示!\n");
	else
	{
		printf("该顺序表为:");
		if(L->Size==1)
			printf("%c",L->List[L->Size]);
		else
		{
			for(j=0;j<L->Size-1;j++)
				printf("%c->",L->List[j]);
			printf("%c",L->List[j]); // 显示最后一个节点
		}
		printf("\n");
	}
}

⌨️ 快捷键说明

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