📄 04071505list.h
字号:
//通用头文件
#include<malloc.h>
const LIST_INIT_SIZE=100;
const LISTINCREMENT=10;
struct SList//定义结构体
{
ElemType *elem;
int length,listsize;
};
bool ListInit(SList&L)//初始化函数
{
L.elem=new ElemType[LIST_INIT_SIZE];
if(!L.elem)return false;
L.length=0;
L.listsize=LIST_INIT_SIZE;
return true;
}
void visit (ElemType e){cout<<e<<" ";}//输出函数
void ListTranverse(SList L)//遍历函数
{
int i;
for(i=1;i<=L.length;i++)visit(L.elem[i-1]);
}
bool ListInsert(SList&L,int i,ElemType e)//将一个元素插入到表的制定位置
{
int j;ElemType*newbase;
if((i<1)||(i>L.length+1))return false;
if(L.length==L.listsize)
{
newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase)return false;
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
for(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(SList &L,int i)//删除表中某个位置的元素(因为这次的题目不必要保留删除的元素,所以做了修改)
{
int j;
if((i<1)||(i>L.length))return false;
for(j=i-1;j<L.length-1;j++)
L.elem[j]=L.elem[j+1];
L.length--;
return true;
}
int compare(ElemType a,ElemType b)//顺序表元素的比较
{
if(a<b)return 0;
else
return 1;
}
int ListLocate(SList L,ElemType e)//表中元素的位置
{
int i=1;
while(i<=L.length&&!compare(L.elem[i-1],e))i++;
if(i>L.length)i=0;
return i;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -