回顾
顺序表操作
按元素值的查找算法
在顺序表中查找一个第一个值等于e的元素
int findElem(Sqlist L, int e)
{
int i;
for(i = 0;i < L.length; ++i)
if(e == L.data[i])
return i;
return -1;
}
插入数据元素的算法
在顺序表L的p(0 ≤ p ≤ length)位置上插入新的元素e。如果p的输入不正确,则返回0,代表插入失败;如果p的输入正确,则将顺序表第p个元素及以后元素右移一个位置,腾出一个空位置插入元素,顺序表长度增加1,插入操作成功,返回1
再来回顾一下,找了个gif
结合代码更好理解
int insertElem(Sqlist &L, int p, int e)
{
int i;
if (p < 0 || p > L.length || L.length == maxSize)
return 0;
for (i = L.length-1 ; i >= p ; --i)
L.data[i+1] = L.data[i];
L.data[p] = e;
++(L.length);
return 1;
}//不要“见缝插针”,直接从表中元素所在位置作为插入位置。
删除数据元素的算法
删除顺序表中L中下标为p(0 ≤ p ≤ length-1 的元素 )(这里为length-1的原因就是上面的意思),成功返回1,否则返回0;并将删除元素的值赋给e。
//(首先这个算法具体来说肯定不针对最后一个元素,因为最后一个元素直接删掉了就行。)
int deleteElem(Sqlist &L, int p, int &e)
{
int i;
if(p < 0 || p > length - 1)
return 0;
e = L.data[p];
for(i = p; i < L.length - 1; ++i)
L.data[i] = L.data[i+1];
--(L.length);
return 1;
恋词U3
- include v.包括;把..列为一部分
- exclude v.拒绝接纳;将..排除在外
- conclude v.结束;推断出;断定
- multinational adj.跨国的;多国的;跨国公司
- reviewer n.评论家;审查者
- acquisition n.获得;获得物
- roundabout adj.迂回得,拐弯抹角的 n.环形交叉口
- background n.背景;经历
- backyard n.后院;后花园
- backward adj.向后的;落后的;迟钝的 adv.向后
- backdrop n.事件的背景
- backload v.(签订协议后)增加费用
- backfire v.产生事与愿违的不良后果
- empirical adj.来自经验(或实验的);经验主义的
- pledge n.誓约;保证 v.保证
- monopoly n.垄断;专卖;专利权;专利事业
- entrenched adj.根深蒂固的
- linguistic adj.语言的;语言学的
- be down to sb 是某人的责任;由某人负责
- discern v.认出;觉察出;辨明;分清
- milln.磨粉机;磨坊;制造厂;工厂