20210322

回顾 | 恋词U3

Table of Contents

回顾

顺序表操作

按元素值的查找算法

在顺序表中查找一个第一个值等于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.磨粉机;磨坊;制造厂;工厂