目錄

👀一.初識順序表
👺二.順序表表的實現
1. 順序表用數組elem實現存放元素,以及usedSize來記錄使用空間,可以自行設置默認容量大小。
2.在末尾新增元素add(int data)
3.在pos位置新增元素add(int pos ,int data)
4.判斷是否包含某個元素contains(int toFind)
5.找到某元素對應位置indexOf(int toFind)
6.獲取pos位置元素get(int pos)
7.給pos位置元素設置為value set(int pos, int value)
8.刪除第一次出現的關鍵字toRmove remove(int toRmove)
9.獲取順序表長度 getSize()
10.清空順序表clear()
整體代碼展示
提前準備2個方法能封裝盡量封裝(當養成好習慣)一個擴容方法 一個判斷是否已滿
private void reSize(){
        this.elem=Arrays.copyOf(this.elem,2*this.elem.length);
    }
    public boolean isFull(){
        return usedSize == elem.length;
    }public class MyArrayList {
    public int[] elem;//用一個數組儲存元素
    public int usedSize;// 記錄已使用空間
    public static final int DEFAULT_SIZE=10; //給定默認空間大小
    public MyArrayList(){
        this.elem=new int[DEFAULT_SIZE];
    }
}// 新增元素,默認在數組最后新增
    public void add(int data) {
        if (isFull()){
            reSize();
        }
        this.elem[usedSize]=data;
        usedSize++;
    }public void add(int pos, int data) {
        checkIndex(pos);
        if (isFull()){
            reSize();
        }
        for (int i=usedSize-1;i>=pos;i--){
            elem[i+1]=elem[i];//從pos開始每個數往后挪一個位置
        }
        elem[pos]=data;
        usedSize++;
    }private void checkGetIndex(int pos){
        if (pos>=usedSize||pos<0){
            throw new IndexOutOfBoundException("get元素時位置不合法");
        }
    }// 判定是否包含某個元素
    public boolean contains(int toFind) {
       for (int i=0;i// 查找某個元素對應的位置
    public int indexOf(int toFind) {
        for (int i=0;i// 獲取 pos 位置的元素
    public int get(int pos) {
    checkIndex(pos);
        return this.elem[pos]; }private void checkIndex(int pos){
        if (pos>usedSize||pos<0){
            throw new IndexOutOfBoundException("add元素時位置不合法");
        }
    }// 給 pos 位置的元素設為 value
    public void set(int pos, int value) {
        checkIndex(pos);
        this.elem[pos]=value;
    }//刪除第一次出現的關鍵字key
    public boolean remove(int toRemove) {
        if (indexOf(toRemove)==-1){
            System.out.println("沒找到這個數");
            return false;
        }
        int index=indexOf(toRemove);
        for (int i=index;ipublic int getSize() {
        return usedSize; }// 清空順序表
    public void clear() {
        usedSize=0;
    }import java.util.Arrays;
public class MyArrayList {
    public int[] elem;//用一個數組儲存元素
    public int usedSize;// 記錄已使用空間
    public static final int DEFAULT_SIZE=10; //給定默認空間大小
    public MyArrayList(){
        this.elem=new int[DEFAULT_SIZE];
    }
    // 新增元素,默認在數組最后新增
    public void add(int data) {
        if (isFull()){
            reSize();
        }
        this.elem[usedSize]=data;
        usedSize++;
    }
    private void reSize(){
        this.elem=Arrays.copyOf(this.elem,2*this.elem.length);
    }
    public boolean isFull(){
        return usedSize == elem.length;
    }
    // 在 pos 位置新增元素
    public void add(int pos, int data) {
        checkIndex(pos);
        if (isFull()){
            reSize();
        }
        for (int i=usedSize-1;i>=pos;i--){
            elem[i+1]=elem[i];
        }
        elem[pos]=data;
        usedSize++;
    }
    private void checkIndex(int pos){
        if (pos>usedSize||pos<0){
            throw new IndexOutOfBoundException("add元素時位置不合法");
        }
    }
    private void checkGetIndex(int pos){
        if (pos>=usedSize||pos<0){
            throw new IndexOutOfBoundException("get元素時位置不合法");
        }
    }
    // 判定是否包含某個元素
    public boolean contains(int toFind) {
       for (int i=0;i本人第一次寫博客,主要為學習記錄使用,如有錯誤和不好的地方歡迎大家指出。
最后謝謝大家的閱讀。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
                網站標題:【數據結構】順序表-創新互聯
                
                當前地址:http://www.yijiale78.com/article28/dpcicp.html
            
成都網站建設公司_創新互聯,為您提供App開發、品牌網站建設、自適應網站、定制網站、企業建站、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
