初始化
#include <iostream>
#define ELemType int
#define MaxSize 100
//顺序表 静态分配
typedef struct {
//静态分配
ELemType data[MaxSize];//定义长度
int length;
}SqList_S;
功能实现
void Init_SqList(SqList_S &s,int length)
{//静态
s.length=length;
//index 0-Maxsize 共MaxSize个元素
s.data[MaxSize-1]=0;
}
void Create_SqList(SqList_S &s)
{
for (int i = 0; i < s.length; ++i) {
s.data[i]=(ELemType)random()%20;//0-19
}
}
//给序号找值 不是下标
ELemType get_ele(SqList_S s,int pos){
//判断index合法
int index=pos-1;
if(pos<1||pos>s.length) return 0;
return s.data[index];//连续空间随即存取
}
//给值找序号
int get_pos(SqList_S s,ELemType e){
for (int i = 0; i < s.length; ++i) {
if (s.data[i]==e)
{
return i+1;
}
}
return 0;
}
//指定位置插入值
void insert_e(SqList_S &s,ELemType key,int pos)
{
int index=pos-1;
if(pos<0||pos>MaxSize){
exit(0);//插入位置不合法
}
for (int i = s.length; i >=index ; i--) {
s.data[i]=s.data[i-1];
}
s.data[index]=key;
s.length+=1;
}
void delete_e(SqList_S &s,ELemType key)
{
int index= get_pos(s,key);
if(index)
{
for (int i = index-1; i <s.length-1 ; ++i) {
s.data[i]=s.data[i+1];
}
} else{
return;
}
s.length--;
}
void modify_e(SqList_S &s,ELemType key,ELemType value)
{
int index=get_pos(s,key);
if(index)
{
s.data[index-1]=value;
} else{
return;
}
}
void Print(SqList_S s)
{
for (int i = 0; i <s.length ; ++i) {
printf("%d ",s.data[i]);
}
printf("\n");
}
1136

被折叠的 条评论
为什么被折叠?



