• 例1-6:在单链表中实现线性表的插入运

算INSERT (L,x,i)

算法思想:

(1)先求出第i-1个结点

(2)然后在第i-1个结点之后插入结点x 。

1

• 按序号查找

设单链表的长度为n,要查找表中第i个

结点,算法思想如下:

从头结点开始顺链扫描,用指针p指向当

前扫描到的结点,用j作统计已扫描结点

数的计数器,当p扫描下一个结点时,j

自动加1。

P的初值指向头结点,j的初值为0。

当j=i时,指针p所指的结点就是第i个结

点。

2

• 按序号查找算法描述

JD *GET(head,i)

JD *head;

int i;

{int j;

JD *p;

p=head;j=0;

while((p->next!=null&&(j

{p=p->next;j++;}

if (i=j) return p; /*找到第i个结点*/

else return null; /*找不到,收返回null*/

}/*end*/

3

• 例1-6的实现:

INSERT (L,x,i)

JD *L;

datatype x;

int i;

{JD *p;

int j;

j=i-1;

p=GET(L ,j );/*找到第i-1个结点*p*/

if (p==null) printf(“找不到插入点\n“ )

else INSERA(p,x);

}/*end*/

4

(4)删除运算

(删除单链表中*p的后继)

• 规格(结点类型)说明见单链表描述。

• 算法描述:

DeleteA(p) /*删除*p的后继结点*r,设*r存在*/

JD *p;

{JD *r;

if(p->next!=null)

r=p->next; p r

p->next=r->next; 存储池

free(r);

}

}/*enddelete*/

5

• 思考:

(1)如何删除单链表中p结点本身?

(2 )如何删除单链表中p结点的前趋结

点?

例1-7:在单链表上实现线性表的删除运

算Delete(L,i) 。

思想:先找到被删结点(第i个)的前趋

结点,即第i-1个结点*p,然后删除*p的后

继( 需引用函数GET (L,i) ) 。

6

• 例1-7的实现:

DELETE(L,i)

JD *L;

int i;

{JD *p;

int j;

j=i-1;

p=GET(L ,j) ;/*找到第i-1个结点*p*/

if ((p!=null)&&(P->next!=null))

DeleteA(P);

else printf(“error

数据结构c语言严4pdf,数据结构(C语言)严蔚敏 吴伟明 编著 04.pdf相关推荐

  1. 数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf

    第四章 串 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.2.1 定长顺序存储表示 4.2.2 堆分配存储表示 4.2.3 串的块链存储表示 4.1 串类型的定义 一.串和基本概念 串 ...

  2. 数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著

    数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著,仅供参考,还是自己认真做了再看 第1章  绪论 5.选择题 (1)在数据结构中,从逻辑上可以把数据结构分成(  C ). A.动态结构和静态 ...

  3. 【最详细】数据结构(C语言版 第2版)第三章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)若让元素 1, 2, 3, 4, 5 依次进栈,则出栈次序不可能出现在()种情况. A. 5, 4, 3, 2, 1 B. 2, 1, 5, 4 ...

  4. 【最详细】数据结构(C语言版 第2版)第八章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)从未排序序列中依次取出元素与已排序序列中的元素进行比较, 将其放入已排序序 列的正确位置上的方法,这种排序方法称为() . A.归并排序 B.冒 ...

  5. 【最详细】数据结构(C语言版 第2版)第七章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)对 n 个元素的表做顺序查找时, 若查找每个元素的概率相同, 则平均查找长度为 (). A. (n-1)/2 B . n/2 C. (n+1)/ ...

  6. 【最详细】数据结构(C语言版 第2版)第六章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)在一个图中,所有顶点的度数之和等于图的边数的()倍. A. 1/2 B. 1 C. 2 D. 4 答案: C ( 2)在一个有向图中,所有顶点的 ...

  7. 【最详细】数据结构(C语言版 第2版)第五章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 1.选择题 ( 1)把一棵树转换为二叉树后,这棵二叉树的形态是() . A.唯一的 B.有多种 C.有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子 ...

  8. 【最详细】数据结构(C语言版 第2版)第四章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 第 4 章串.数组和广义表 1.选择题 ( 1)串是一种特殊的线性表,其特殊性体现在() . A .可以顺序存储 B .数据元素是一个字符 C.可以链式存储 D . ...

  9. 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著

    所有章节答案合集-->传送门 第 2 章线性表 1.选择题 ( 1)顺 序表中 第一个 元 素的存储 地址 是 100 ,每 个元素的 长度 为 2,则 第 5 个 元 素 的 地 址 是 ( ...

  10. 数据结构(C语言版 第2版)课后习题答案 严蔚敏版

    数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著,仅供参考,还是自己认真做了再看 第1章  绪论 5.选择题 (1)在数据结构中,从逻辑上可以把数据结构分成(  C ). A.动态结构和静态 ...

最新文章

  1. 实验1 应用SQL Server进行数据定义和管理
  2. 支持placeholder和自适配高度的TextView控件
  3. 数据库分库分表(sharding)系列
  4. 基于角色的权限设计(二)
  5. 莫比乌斯函数_莫比乌斯环:python-matplotlib可视化实现
  6. 帮朋友招一个IM开发人员
  7. 用Table变量返回多行数据
  8. 多线程:线程安全?如何实现?
  9. java的socket读取一行就结束运行了?使用这种方法可以读取多行数据!
  10. SAP C4C Lead明细页面里Account字段的绑定路径
  11. 轻量级代码生成器-OnlyCoder 第一篇
  12. python里w_python vs pythonw | 学步园
  13. halcon学习之图像增强、平滑和去噪
  14. c语言多次调用函数 只给出最后一次,一个方法连续调用多次,但方法体里面的代码只保证最后一次的执行,之前连续调用的方法体都不执行...
  15. 新版《鹿鼎记》史上最低分!数据分析告诉你,韦小宝跟哪个老婆最亲
  16. java超简单计算器_Java实验--超级简单的计算器
  17. 「化学」相对分子质量
  18. windows系统:oracle 10g的下载、安装、配置 (提供绝版安装文件下载)
  19. linux自动刷新桌面,Ubuntu下实现用Python开机自动更新壁纸为bing壁纸
  20. 打破界限,获得新生——观电影《云图》有感

热门文章

  1. 软件设计师-知识产权和标准化知识
  2. xshell怎么连接linux服务器,教你怎么使用xshell远程连接linux服务器
  3. 鹏芯U盘(UDK2008)意外断电后修复 1
  4. 我的CSDN原创高质量免积分下载资源列表(持续更新)
  5. 管家婆服务器端linux版,管家婆辉煌2005+4.2完美特别版-支持网络、单机、门店;无任何限制...
  6. web版pdf在线阅读器
  7. cmd用管理员权限连接远程桌面命令
  8. Delphi接入科大讯飞语音合成SDK
  9. c语言程序设计实践与案例周讯东,第1章 C语言程序设计导引免费阅读_C程序设计与项目实践免费全文_百度阅读...
  10. 基于SSM的景区旅游管理系统