热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DS博客作业02线性表

1.思维导图及学习体会1.1思维导图1.2谈谈你对线性表的认识及学习体会。这几周学习线性表的知识,其实就是链表与数组,这方面的知识上个学期学的不是很好,这个学期要加油。然后假期的时

1.思维导图及学习体会

1.1思维导图


1.2谈谈你对线性表的认识及学习体会。

这几周学习线性表的知识,其实就是链表与数组,这方面的知识上个学期学的不是很好,这个学期要加油。然后假期的时候我主要是看慕课上的视频,里面介绍了线性表的一些常见操作:比如创建空的线性表,删除区间,插入数字,排序还有销毁等等。以及头插法尾插法建链表。用重构链表的方法进行操作。这些都要熟练掌握,多多看书上的基本代码,以及老师所给的课堂派上的方法技巧。以后做相关题的时候才不会慌乱或者没有思路。


2.PTA实验作业

2.1题目一:本题要求实现顺序表的操作集。

各个操作函数的定义为:
List MakeEmpty():创建并返回一个空的线性表;
Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR;
bool Insert( List L, ElementType X, Position P ):将X插入在位置P并返回true。若空间已满,则打印“FULL”并返回false;如果参数P指向非法位置,则打 印“ILLEGAL POSITION”并返回false;
bool Delete( List L, Position P ):将位置P的元素删除并返回true。若参数P指向非法位置,则打印“POSITION P EMPTY”(其中P是参数值)并返回false。

2.1.1设计思路

List MakeEmpty()
定义结构体指针PtrL
动态内存分配
PtrL指向数组长度Last,定义为-1
return PtrL

Position Find(List L, ElementType X)
定义位置i,初始化为0
while(i到L末尾或者Data[i]不为x)
i++
如果i到L末尾,返回长度-1;否则找到了x所在的位置i,返回i

bool Insert(List L, ElementType X, Position P)
{
定义i,j
if P的数字为长度减一 输出“链表已满”
return false;
if P<0或者P比Last大 输出“非法位置”
return false;
for j = L->Last to P
将Data[j] 的值向后挪一位
将P 位置的值赋给x,则实现了插入操作
return true;

bool Delete(List L, Position P)
定义变量i用于循环使用
if L->Last == -1
return false;
if P<0或者P比Last大 输出“非法位置”
return false;
for i = P to i Last
将Data[i+1]的值赋给Data[i],覆盖前一位,从而实现删除操作
return true;

2.1.2代码截图






2.1.3本题PTA提交列表说明


Q1:
A1:

Q2:

A2:

Q3:

A3:


2.2题目二:本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表为带头结点链表。


2.2.1设计思路


2.2.2代码截图


2.2.3本题PTA提交列表说明



Q1:

A1:


2.3题目三:已知两个递增链表序列L1与L2,2个链表都是带头结点链表。设计函数实现L1,L2的合并,合并的链表仍然递增有序,头结点为L1的头结点。 合并后需要去除重复元素。


2.3.1设计思路


2.3.2代码截图


2.3.3本题PTA提交列表说明

Q1:

A1:



推荐阅读
  • c语言二元插值,二维线性插值c语言
    c语言二元插值,二维线性插值c语言 ... [详细]
  • 本文详细介绍了如何在循环双链表的指定位置插入新元素的方法,包括必要的步骤和代码示例。 ... [详细]
  • 本文详细介绍了二叉堆的概念及其在Java中的实现方法。二叉堆是一种特殊的完全二叉树,具有堆性质,常用于实现优先队列。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 使用Vue指令实现下拉菜单效果
    使用Vue指令实现下拉菜单效果模仿重庆红岩历史革命博物馆官网的导航栏内容和效果,使用Vue实现。官网地址如下:https:www.hongyan.info官网效果效果图片展示代码展 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 3.[15]Writeaprogramtolistallofthekeysandvaluesin%ENV.PrinttheresultsintwocolumnsinASCIIbet ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
  • 本文提供了一个使用C语言实现的顺序表区间元素删除功能的完整代码示例。该程序首先初始化一个顺序表,然后根据用户输入的数据进行插入操作,最后根据指定的区间范围删除相应的元素,并输出最终的顺序表。 ... [详细]
  • mysql数据库json类型数据,sql server json数据类型
    mysql数据库json类型数据,sql server json数据类型 ... [详细]
  • 字符串中特定模式出现次数的计算方法
    本文详细探讨了如何高效地计算字符串中特定模式(如'pat')的出现次数,通过实例分析与算法解析,帮助读者掌握解决此类问题的方法。 ... [详细]
author-avatar
秋静222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有