代码拉取完成,页面将自动刷新
#pragma once
//////////顺序表储存结构
template <typename E, int M>
struct SqList
{
E elem[M];
int length;
};
//////顺序表基本操作
////////初始化顺序表 InitList(&L)
template <typename E, int M>
void InitList(SqList<E, M> &L)
{
L.length = 0;
}
//插入 ListInsert(&L,i,e)
template <typename E, int M>
void ListInsert(SqList<E, M> &L, int i, E e)
{
// 若表满,则抛出异常
if (L.length == M)
throw "List full";
//若i不合法,则抛出异常
if (i < 1 || i > L.length + 1)
throw "Invalid i";
//移动元素
for (int j = L.length - 1; j >= i - 1; --j)
L.elem[j + 1] = L.elem[j];
//插入元素
L.elem[i - 1] = e;
//表长加 1
L.length++;
}
//删除 ListDelete(&L,i,&e)
template <typename E, int M>
void ListDelete(SqList<E, M> &L, int i, E &e)
{
//若表空,则抛出异常
if (L.length == 0)
throw "List empty";
//若 i 不合法,则抛出异常
if (i < 1 || i > L.length)
throw "Invalid i";
//取出元素
e = L.elem[i - 1];
//移动元素
for (int j = i; j < L.length; j++)
L.elem[j - 1] = L.elem[j];
//表长减 1
L.length--;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。