基本概念
-
注意:
线性表可以是空表,树可以是空树,但图不可以是空,即v一定是非空集
无向图、有向图
2023年9月1日大约 2 分钟
int SerchSqList(SqList &L,int e)
{
for(int i = 0;i<L.length;i++)
{
if(e == L.elem[i]){
cout<<"已找到元素"<<L.elem[i]<<endl;
return e;
}
}
return 0;
}
初始化
步骤:
代码:
//初始化
const int MAXSIZE = 100;
bool InitList(SqList L)
{
L.elem = new ElemType[MAXSIZE];
if(!L.elem){
return 0;
}
L.length = 0;
return true;
}
取值
步骤:
//取值
int GetElem(SqList L,int i,ElemType e)
{
if(i<1 || i>L.length){
return -1;
}
e=L.elem[i-1];
return e;
}
查找
步骤:
//查找
int LocateElem(SqList L,ElemType e)
{
for(int i=0;i<L.length;i++){
if(e==L.elem[i]){
return i+1;
}else{
return 0;
}
}
return 0;
}
插入
//插入
bool ListInsert(SqList &L,int i,ElemType e)
{
if(i<1 || i>L.length+1)
{
return false;
}
if(L.length==MAXSIZE){//判断顺序表的存储空间是否已满
return false;
}
for(int j=L.length-1;j>=i-1;j--){
L.elem[j+1]=L.elem[j];
}
L.elem[i-1] = e;
++L.length;
return true;
}
删除
步骤:
//删除
bool ListDelete(SqList &L,int i)
{
if(i>L.length && i<1){
return false;
}
for(int j=i;j<=L.length-1;j++){
L.elem[j-1]=L.elem[j];
}
--L.length;
return true;
}