#include <stdio.h>
#define MAXLEN 100
typedef int DataType;
void InitList(SeqList *L);
void CreateList(SeqList *L , int n);
int GetElem(SeqList *L , int i , DataType *x);
int Locate(SeqList *L , DataType x);
int InsElem(SeqList *L , int i , DataType x);
int DelElem(SeqList *L , int i , DataType *x);
void display(SeqList *L);
Typedef struct
{
DataType data[MAXLEN];
int Length;
}SeqList;
SeqList L;
int main()
{
return 0;
}
void InitList(SeqList *L)
{
L->Length = 0;
//初始化顺序表为空
}
void CreateList(SeqList *L , int n)
{
printf("请输入%d个整数:",n);
for(int i = 0 ; i < n ; i++){
scanf("%d",&L->data[i]);
}
L->Length = i;
}
int GetElem(SeqList *L , int i , DataType *x)
{
// if(i<1 || i>L->Length){
// return 0;
// }else{
// *x = L->data[i-1];
// return 1;
// }
(i<1 || i>L->Length)?0:1;
}
int Locate(SeqList *L , DataType x)
{
int i=0;
while(i<L->Length && L->data[i]!=x){
i++;
}
// if(i>L->Length){
// return 0;
// }else{
// return i+1;
// }
(i>L->Length)?0:(i+1);
}
int InsElem(SeqList *L , int i , DataType x)
{
int j;
if(L->Length>=MAXLEN){
printf("顺序表已满!");
return -1;
}
if(i<1||i>L->Length+1){
printf("插入位置出错!");
return 0;
}
if(i==L->Length+1){
L->data[i-1]=x;
L->Length++;
return 1;
}
for(j=L->Length-1;j>=i-1;j--){
L->data[j+1] = L->data[j];
L->data[i-1]=x;
L->Length++;
return 1;
}
}
int DelElem(SeqList *L , int i , DataType *x)
{
int j;
if(L->Length==0){
printf("顺序表为空!");
return 0;
}
if(i<1 || i>L->Length){
printf("不存在第i各元素");
return 0;
}
*x = L->data[i-1];
for(j=i;j<L->Length;j++){
L->data[j-1] = L->data[j];
}
L->Length--;
return 1;
}
void display(SeqList *L)
{
int i;
for(i=0;i<L->Length;i++){
printf("%5d",L->data[i]);
}
}
数据结构:线性表顺序存储基础代码
最新推荐文章于 2022-12-18 16:38:41 发布