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

📄 顺序表.cpp

📁 这是一个数据结构的顺序表简单算法.其中可能有一些小问题,但基本上还是能运行的.
💻 CPP
字号:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define LENGTH  30
typedef  int ElemType;
typedef struct {

   ElemType *data;
   int length;//第几个元素
   int size;

}ListNode;
//创建一个线性表
ListNode *Sq_init()
{
	ListNode *L=(ListNode*)malloc(sizeof(ListNode));
	L->data=(ElemType*)malloc(LENGTH*sizeof(ElemType));
	L->length=0;
	L->size=LENGTH;
	return L;
}
//输入元素
void Sq_insert(ListNode *L,ElemType e)
{
    if(L->length>=L->size)
	{
		L->data=(ElemType*)realloc(L->data,(L->length+LENGTH)*sizeof(ElemType));
		L->size*=LENGTH;

	}
	L->data[L->length]=e;
	L->length++;
}
//删除元素
Sq_delete(ListNode *L,int i)
{
ElemType e;
int *q;
int *p;
if(i<1||i>L->length)
	{
	printf("输入错误!\n");
	return 0;
	}
p=&(L->data[i-1]);
e=*p;
q=&L->data[L->length-1];
for(++p;p<=q;++p)
*(p-1)=*p;
--(L->length);
return e;
}

void main()
{
	int i=0;
	int a;
	int m;
	ElemType e;
    ListNode *L=Sq_init();
	printf("请问你要输入几个数?\n");
	scanf("%d",&a);
	for(i=0;i<a;i++)
	{
		printf("输入元素值!\n");
		for(i=0;i<a;i++)
			scanf("%d",&L->data[i]);
		for(i=0;i<a;i++)
			Sq_insert(L,L->data[i]);
	}
	for(i=0;i<L->length;i++)
		printf("list->data[%d]=%d\n",i,L->data[i]);
	printf("请输入你要删除的元素的位置!\n");
	scanf("%d",&m);
	e=Sq_delete(L,m);
	printf("经过多年的临床验证,你要删除的元素为%d\n",e);
}

⌨️ 快捷键说明

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