📄 顺序表.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 + -