实验二 线性表-顺序表(JavaScript实现)

该博客主要介绍如何使用JavaScript实现线性表的顺序存储结构,包括创建一个固定长度的数组,以及进行插入、删除和查找等基本操作。实验目的是巩固线性表的数据结构知识,并应用于实际问题中。
摘要由CSDN通过智能技术生成

实验二 线性表-顺序表(JavaScript实现)


实验目的

           巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。


实验内容

        建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。

要求:

        用顺序表来实现。


实验步骤

//建立一个长度为5的数组

var items=new Array(5);
    items = []; 
    this.items = items;


//设置Symbol的值为false,当它为true时返回所寻找元素的位置

this.findElem = function (data) {
        var Symbol = false;
        var temp = 0;
        for (var i = 0; i < items.length; i++) {
            if (items[i] == data) {
                Symbol = true;
                temp = i + 1;      //元素位置
            }
        }
        if (Symbol) {
            return temp;
        }
    };

//按元素位置查找,返回元素内容
this.getElem = function (num) {
        if (num > items.length || num < 1 || items.length == 0) {
            return false;
        } else {
            return items[num - 1];           //数组下标是从0开始,故(-1)
        }
    };

//插入元素
this.ListInsert = function (data, poi) {
        if (poi > items.length || poi < 1 || items.length == 0) {
            return false;
        } else {
            for (var i = items.length; i >= poi - 1; i--) {
                items[i + 1] = items[i];  //将 poi-1 后面的元素都往后移
            }
            items[poi - 1] = data;
            return items;    //返回数组
        }
    };

//删除元素
this.ListDelete = function (poi) {
        var temp = items[poi - 1];  
        if (poi < 1 || poi > items.length || items.length == 0) {
            return false;
        } else {
            for (var i = poi; i < items.length; i++) {
                items[i - 1] = items[i];
            }
            return temp;
        }
    };

//测试代码
var list = new orderList();     //创建一个新表
list.items.push("小王 80", "小明 60", "晓红 70" );   //向空数组中添加元素
console.log(list.items);    //显示所有元素
console.log(list.findElem("小明 60"));     //按内容查找
console.log(list.getElem(1));              //按位置查找
console.log(list.ListInsert("王晶 90", 2));    //在第三个元素前面插入一个元素
console.log(list.ListDelete(3));             //删除第二个元素
console.log(list.items);             //显示所有元素

测试结果





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值