下载此文档

数据结构—算法——期末考查.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
1、链表
统计结点数
算法
int ListLength_L( LinkList L )
{
// L 为链表的头指针,本函数返回 L 所指链表的长度
p=L; k=0;
while ( p ) {
k++; p=p->next; // k 计非空结点数
}//while
return k;
} // ListLength_L
查找
算法
LNode* LocateElem_L( LinkList L, ElemType e )
{
// 在 L 所指的链表中查找第一个值和 e 相等的数据元素,若存在,则返回
// 它在链表中的位置,即指向该数据元素所在结点的指针;否则返回 NULL
p=L;
while ( p && p->data != e ) p=p->next;
return p;
} // LocateElem_L
插入
算法
void ListInsert_L( LinkList &L, Lnode* p, Lnode* s )
{
// 指针 p 指向 L 为头指针的链表中某个结点,将 s 结点插入到 p 结点之前
if (p == L) { // 将 s 结点插入在链表的第一个结点之前
s->next = L; L = s;
}//if
else {
q = L;
while (q->next != p ) q = q->next; // 查找 p 的前驱结点 q
q->next = s; s->next = p; // 在链表中 q 结点之后插入 s 结点
}//else
} // ListInsert_L
删除
算法
void ListDelete_L( LinkList &L, Lnode* p, ElemType &e ) {
// p指向L为头指针的链表中某个结点,从链表中删除该结点并由e返回其元素
if (p == L) { // 删除链表中第一个结点,修改链表头指针
L = p->next;
}//if
else {
q = L;
while (q->next != p ) q = q->next; // 查找 p 的前驱结点 q
q->next = p->next ; // 修改 q 结点的指针域
}//else
e = p->data; delete p; // 返回被删结点的数据元素,并释放结点空间
}// ListDelete_L
2、顺序表
创建
算法
void InitList_Sq( SqList &L, int maxsize = LIST_INIT_SIZE,
int incresize = LISTINCREMENT )
{
// 构造一个最大容量为 maxsize 的顺序表 L
= new ElemType [maxsize];
// 为顺序表分配一个最大容量为 maxsize 的数组空间
= 0; // 顺序表中当前所含元素个数为 0
= maxsize; // 该顺序表可以容纳 maxsize 个数

数据结构—算法——期末考查 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zgs35866
  • 文件大小0 KB
  • 时间2015-06-06
最近更新