#include<iostream>
using namespace std;
#define MAXSIZE 100
//顺序表
typedef struct Lnode{
int data[MAXSIZE];
int last;
}Lnode;
Lnode *empty(){
Lnode *p;
p = (Lnode *)malloc(sizeof(Lnode));
p -> last = -1;
return p;
}
void insert(int x, int i, Lnode *p){
if(p ->last + 1 == MAXSIZE){
cout << "表已满";
return;
}
if(i < 1 || i > p ->last + 2){
cout << "插入位置不合法";
return;
}
for(int j = p ->last; j >= i - 1; j --)
p -> data[j + 1] = p -> data[j];
p ->data[i - 1] = x;
p ->last ++;
}
void delet(int i, Lnode *p){
if(i < 1 || i > p ->last +1){
cout << "删除位置不合法";
return;
}
for(int j = i; j <= p ->last; j ++)
p ->data[j - 1] = p ->data[j];
p ->last --;
}
int find(int x, Lnode *p){
for(int i = 0; i <= p ->last; i ++){
if(p ->data[i] == x)
return i;
}
return -1;
}
int findkth(int i, Lnode *p){
if(p ->data[i - 1] != NULL)
return p ->data[i - 1];
else
return NULL;
}
数据结构学习之路1 顺序存储的线性表
最新推荐文章于 2023-04-16 19:41:28 发布