实验一线性表的基本操作实现及其应用(JavaScript实现)
来源:互联网 发布:软件著作权 代理 编辑:程序博客网 时间:2024/04/29 16:56
实验一线性表的基本操作实现及其应用(JavaScript实现)
实验目的
- 熟练掌握线性表的结构特点, 掌握顺序表的基本操作。
- 巩固 C++相关的程序设计方法与技术。
- 学会使用顺序表解决实际问题。
实验内容
- 顺序表的建立与操作实现
建立 n 个元素的顺序表( n 的大小和表里数据自己确定) , 实现相关的操作: 输出, 插
入, 删除, 查找等功能。 编写完整程序实现, 程序语言不限定, 使用技术形式不定。 - 实际问题的解决( *)
使用顺序表来实现约瑟夫环问题。
实验步骤
- 依据实验内容分别说明实验程序中用到的数据类型的定义;
- 相关操作的算法表达;
- 完整程序
- 总结、 运行结果和分析。
- 总体收获和不足, 疑问等。
实验要求
- 按照数据结构实验任务书, 提前做好实验预习与准备工作。
- 加“*”为选做题。 做好可加分。
- 严格按照数据结构实验报告模板和规范, 及时完成实验报告。
- 在个人主页上发文章
//判断线性表是否为空,若为空返回true,否则false
function listEmpty(list) { return list.length > 0 ? false : true;}
//清空线性表
function clearList(list) { list.length = 0;}
//返回位置为i的元素
function getElem(list, i) { if (list.length > i) { return list[i]; } else { return -1; }}
//在线性表中查找和给定值相等的元素,若找到返回位置,否则返回-1
function locateElem(list, l) { for (var i=0;i<list.length;i++) { if (list[i] == l) { return i; } } return -1;}
//在线性表的第j个位置插入元素e,插入失败弹窗提醒
function listInsert (list, j, e) { //alert(list.length < j) if (list.length < j) { alert('插入元素失败'); } else if (list.length == i) { list.push(e); } else { list.length++; for(var i=list.length;i>j;i--){ list[i-1] = list[i-2]; } list[j] = e; }}
//删除线性表中指定位置的元素,删除失败弹窗提醒
function listDelete (list, j) { if (list.length <= j){ alert('删除失败'); } else { for (var i=j;i<list.length-1;i++) { list[i] = list[i+1]; } list.length--; }}
// 测试代码
var arr = [];for (var i=0;i<23;i++){ arr[i] = i;}alert(getElem ( arr, 21 ));alert(locateElem ( arr, 7 ));listInsert (arr, 3, 5);listDelete (arr, 5);alert(arr);
// 测试代码
var arr = [];for (var i=0;i<23;i++){ arr[i] = i;}alert(getElem ( arr, 21 ));alert(locateElem ( arr, 7 ));listInsert (arr, 3, 5);alert(arr);listDelete (arr, 0);alert(arr);
运行结果
总结
其实JS中有个splice() 方法,那就不用慢慢写了……
- 定义和用法
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 注释:该方法会改变原始数组。
- 语法
arrayObject.splice(index,howmany,item1,…..,itemX)
index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
- 返回值 -
类型:Array
包含被删除项目的新数组,如果有的话。
- 说明
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
阅读全文
0 0
- 实验一线性表的基本操作实现及其应用(JavaScript实现)
- 实验一线性表的基本操作实现及其应用
- 实验一 线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一 线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一 线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一 线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- 实验一线性表的基本操作实现及其应用
- macos下java版本动态切换
- Android视频直播的实现
- SSH与SSM学习之hibernate24——关联级别加载策略之属性关联加载策略
- varnish缓存配置详解
- maven新建 webapp项目后JSP文件报错怎样chul
- 实验一线性表的基本操作实现及其应用(JavaScript实现)
- 【笔记】《WebGL编程指南》学习-第2章WebGL入门(5-通过鼠标点击画点)
- WIN10桌面图标消失,且右键失效
- Android酷炫实用的开源框架(UI框架)
- 自定义数据库连接池
- 数据库五:浅谈数据库隔离级别与锁机制
- 进程与线程的区别
- 9.22(周五)
- php如何判断数字是几位数