成都网站建设设计

将想法与焦点和您一起共享

Java3:顺序表的操作

顺序表常见操作有插入、删除、查找、修改。
一、插入:
1.插入有头插、尾插、任意位置插入。在插入时要注意下标的取值在顺序表长度范围内。所以最好在插入之前进行扩容操作。
2.在头插时要注意先将原数组的元素从后往前依次向后移动。因为如果从前往后开始移动的话,会造成后一个元素被前一个元素覆盖,而丢失数据且造成重复。arr[i+1]=arr[i],注意此处i的意思是要移动的元素的下标。
3.任意位置插入与头插类似,从后往前(要插入的位置元素下标)依次向后移动,再将数据插入
二.删除
1.删除有头删、尾删、任意位置删除,要注意删除前,原顺序表是否为空的异常情况。
2.头删与头插相反,是从前往后依次向前移动,即后一个元素arr[i+1]覆盖前一个元素arr[i].arr[i]=arr[i+1]
3.不论查找还是删除,在确定循环语句的初始值和条件时都要仔细思考可取范围
三.查找和修改
查找和修改要注意目标位置的下标不能越界
四.扩容
在java语言中,扩容一般扩为原来的1.5倍,是一种习惯的规范,不是死规则。
最后,附上完整代码,包括初始化、插入、删除、查找、修改、扩容、删除顺序表的相同元素。

中宁ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

import java.util.Arrays;
public class SeqList1{
    private int[] array;
    private int size;
    //1.初始化,构造函数
    public  SeqList1(){
        array=new int[11];
        size=0;
    }
    //2.头插
    public void pushFront(int element){
        ensureCapacity();
        for(int i=size-1;i>=0;i--){// i代表的数据元素的下标,从后往前移动
            array[i+1]=array[i];
        }
        array[0]=element;
        size++;
    }
    //3.尾插
    public void pushBack(int element){
        ensureCapacity();
        array[size++]=element;
    }

    //4.中间插 
    public void insert(int index,int element){
        if(index<0||index>size){
            System.out.println("下标异常,不能插入");
        }
        ensureCapacity();
        for(int i=size;i>=index;i--){
            array[i+1]=array[i];
        }
        array[index]=element;
        size++;
    }

    //5.头删
    public void popFront(){
        if(size==0){
        System.out.println("空表");
        }
        for(int i=0;i=size){
            System.out.println("下标异常,不能删除");
        }
        for(int i=index;i=size){
        System.out.println("下标异常");
    }
    for(int i=0;i

文章标题:Java3:顺序表的操作
本文URL:http://chengdu.cdxwcx.cn/article/pidohc.html