#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10
#define OK 1
#define ERROR 0
#define true 1
typedef int Status;
typedef int DataType;
typedef struct {
DataType *Element;
int Length;
}List;
//
Status InitList(List *L) ; //顺序表初始化
Status DestoryList(List *L); //销毁顺序表
Status InputList(List *L); //输入顺序表
Status Find_Position(List *L); //查找(2), 按位置查找
Status Find_Value(List *L) ;//查找(1), 按值查找
Status TraverList(List *L); //遍历顺序表
Status Delete_Value(List *L) ;//按值删除
Status Delete_Position(List *L);//按位置删除
Status Reverse_List(List *L); //顺序表逆置
Status Revise_Position(List *L); //按位置修改
Status Revise_Value(List *L); //按值修改
//
Status InitList(List *L)//顺序表初始化
{
List *p=L;
p->Element=(DataType*)malloc(sizeof(MAXSIZE));
// printf("\n1\n");
//if(!p->Element)
//exit(OVERFLOW);
// printf("\n2\n");
p->Length=-1;
// printf("\n3\n");
return OK;
}
Status DestoryList(List *L) //销毁顺序表
{
if(L->Element==NULL||L==NULL)
{
printf("\n顺序表已经为空!\n");
return ERROR;
}
else
{
printf("\n\n");
free(L->Element);
//printf("\n释放L->Element\n");
L->Element=NULL;
//printf("\nL->Element==NULL\n");
L=NULL;
//printf("\nL==NULL\n");
//printf("释放成功!\n");
return OK;
}
}
Status InputList(List *L)//输入顺序表
{
printf("\n请元素个数\n");
int n;
scanf("%d", &n);
printf("\n输入元素的值:\n");
for(int i=0; i<n; i++)
{
scanf("%d", &L->Element[i]);
L->Length++;
}
printf("\n输出此顺序表!\n");
int s= TraverList(L);
return OK;
}
Status TraverList(List *L) //遍历顺序表
{
// printf("\n输出此顺 序表!\n");
//if(L!=NULL)
if(L->Length==-1)
{
printf("\n当前顺序为空表\n");
return ERROR;
}
//printf("\n\n输出此顺序表!\n");
for(int i=0; i<=L->Length; i++)
printf("%d ", L->Element[i]);
return OK;
}
Status Find_Value(List *L) //查找(1), 按值查找
{
int e=0, flag=0, x=0;
printf("\n当前顺序表为:\n");
int s= TraverList(L);
printf("\n请输入要查的数值:\n");
scanf("%d", &e);
for(int i=0; i<=L->Length; i++)
if(e==L->Element[i])
{
printf("L->Element[i]==%d:\n", L->Element[i]);
printf("L->Length===%d:\n", L->Length);
x=i;
flag=1;
}
if(flag==0)
{
printf("\n输入的数据不再顺序表中
数据结构--顺序表实现数据处理系统(C语言)
最新推荐文章于 2022-10-02 07:04:22 发布
本文详细介绍了如何使用C语言构建和操作顺序表,涵盖了数据结构基础,顺序表的创建、插入、删除等操作,以及在数据处理系统中的应用。通过对顺序表的深入理解,提升对数据结构和算法的实际运用能力。
摘要由CSDN通过智能技术生成