数据结构顺序表实现
来源:互联网 发布:js float 保留两位小数 编辑:程序博客网 时间:2024/05/29 19:08
/*********顺序表***************/
#include<stdio.h>#define OK 1
#define ERROR 0
#define MAXSIZE 50 //定义线性表最大长度
typedef int ElemType;
typedef int Status;
int a[]={12,14,45,75,84,52,49,56,48,100};
typedef struct
{
ElemType *elem;
int length; // 线性表当前长度
}SqList; //线性表的类型定义
/************查找*************/
Status GetElem(SqList L, ElemType e)
{
int i;
if( L.length==0 || i<1 || i>L.length )
{
return ERROR;
}
for(i=0;i<L.length;i++)
{
if(L.elem[i]==e)
return i+1;
}
return OK;
}
/************插入**********/
Status ListInsert(SqList *L,int i,ElemType e)
{
int k;
if(L->length>=MAXSIZE) //线性表已满
{
return ERROR;
}
if(i<1||i>L->length+1) //判断插入i的位置是否合法
{
return ERROR;
}
for(k=L->length-1;k>i-1;k--)//将第i个及以后的元素后移
{
L->elem[k+1]=L->elem[k];
}
L->elem[i-1]=e;
L->length++; //线性表加1
return OK;
}
Status ListDelete(SqList *L,int i, ElemType &e)
{
int k;
if( L->length == 0 )
{
return ERROR;
}
if( i<1 || i>L->length )
{
return ERROR;
}
e = L.elem[i-1];
if( i < L.length )
{
for( k=i; k < L.length; k++ )
{
L.elem[k-1] = L.elem[k];
}
}
L.length--;
return OK;
}
/*********打印*************/
int display(SqList L)
{
int i;
for(i=0;i<L.length;i++)
printf("%d ",L.elem[i]);
printf("\n");
return 0;
}
int main()
{
int opt;
int i,e;
SqList L;
L.elem=a;
while(1)
{
printf("1打印查看 2查找 3插入 4删除 \n请选择你的操作:\n");
scanf("%c",&opt);
switch(opt)
{
case 1:
display(L);
printf("\n");
break;
case 2:
printf("输入查找元素e:");
scanf("%d",&e);
GetElem(L,e);
printf("\n");
break;
case 3: //插入
printf("输入插入位置i:");
scanf("%d",&i);
printf("输入插入元素e:");
scanf("%d",&e);
printf("\n");
ListInsert(&L,i,e);
display(L);
printf("\n");
break;
case 4:
printf("输入删除位置i:");
ListDelete(L,i,e)
display(L);
printf("\n");
break;
}
}
return 0;
}
阅读全文
1 0
- 数据结构顺序表实现
- 数据结构---顺序表实现(源码)
- 数据结构实现顺序线性表
- 数据结构顺序表的实现
- 数据结构---顺序表c实现
- 数据结构之顺序表实现
- 数据结构顺序表的实现
- 数据结构----顺序表的实现
- 数据结构--线性表顺序实现
- 数据结构顺序表实现学习
- 数据结构之顺序表实现
- 数据结构(顺序表-实现)
- java实现顺序表数据结构
- 【数据结构】顺序表的实现
- 数据结构-顺序表代码实现
- 【数据结构C实现】1.顺序表实现
- 数据结构线性表之顺序表实现
- Java,数据结构,线性表,顺序实现
- Asp.net Core 2.0+EntityFrameWorkCore 2.0添加数据迁移
- Codeforces Round #439 (Div.2)
- 线性表
- MOOS例程HelloWorld-详细注释
- 2017 10 08 NOIP2017模拟赛
- 数据结构顺序表实现
- 10个重要的Linux ps命令实战
- lua脚本学习9
- 内部类反序列化问题(fastjson exception: create instance error)
- 使用VS Code编译运行C/C++程序
- 在CentOS7上安装MongoDB
- 3. Spring Boot 初步了解
- Poj 2970 The lazy programmer(贪心)
- SwitchHosts使用