java順序表的實現

一,前言

hello大家好呀,今天淺略講講java的順序表,其實順序表大概一個月前就學了,但是由于前段時間期末一直沒寫博客,但是現在想想其實期末我還是有很多空余時間的,但是由于自己的原因耽誤了很多時間現在想來挺后悔的,不過沒關系,可以補上,順序表我們在c語言的階段詳細介紹過(詳情移步初級數據結構---順序表的實現-CSDN博客)其實java實現也大差不差,今天打算水一期啦哈哈,但是也確實沒有新東西,但是需要注意我們在實現是運用到了異常的拋出機制和接口,這兩部分也不難,這邊直接上代碼啦,謝謝大家。

二,代碼實現

List.java(接口)

public interface List {void Add(int num);void Add(int pos,int num);void Show();int Find(int num);void Delete(int num);void Modify(int source,int num);boolean Full();
}

MyList.java

import java.util.Arrays;
public class MyList implements List {int[] array = new int[6];int NumberSize;MyList() {array[0] = 0;array[1] = 1;array[2] = 2;NumberSize = 3;}public boolean Full() {return this.NumberSize == array.length;}private void grow() {array = Arrays.copyOf(this.array, 2 * this.array.length);}@Overridepublic void Add(int num) {if (Full())grow();array[NumberSize] = num;NumberSize++;}private void Judge(int pos) {if (pos < 0 || pos > NumberSize) {throw new RuntimeException("輸入的位置有誤");}}@Overridepublic void Add(int pos, int num) {if (Full())grow();try {Judge(pos);for (int i = NumberSize; i >= pos; i--) {array[i + 1] = array[i];}array[pos] = num;NumberSize++;} catch (RuntimeException e) {e.printStackTrace();}}@Overridepublic void Show() {for (int i = 0; i < NumberSize; i++){System.out.println(array[i]);}}private void Judge1(int pos) {if (pos < 0 || pos >= NumberSize)throw new RuntimeException("輸入位置不合法,數組元素為個數為:+" + NumberSize);}@Overridepublic int Find(int pos) {try {Judge1(pos);} catch (RuntimeException e) {e.printStackTrace();}return array[pos];}public int FindPos(int num){for (int i = 0; i <NumberSize ; i++) {if (array[i]==num){return i;}}return -1;}@Overridepublic void Delete(int num) {int pos=FindPos(num);for (int i = pos; i <NumberSize ; i++) {array[i]=array[i+1];}NumberSize--;}@Overridepublic void Modify(int pos, int num) {array[pos]=num;}
}

Main.java

public class Main {public static void main(String[] args) {MyList myList=new MyList();myList.Add(3);myList.Add(1,4);myList.Delete(4);myList.Modify(3,4);myList.Show();}
}

三,尾聲

再次感謝大家閱讀,有錯誤歡迎大家在評論區指出,下期見

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43292.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++面向對象的常見面試題目(二)

1. 繼承關系下&#xff0c;析構函數和構造函數執行順序&#xff1f; 構造函數按照依賴鏈&#xff0c;從強到弱構造 首先調用基類的構造函數。如果有多個基類&#xff0c;則按照它們在派生類聲明中出現的順序調用&#xff1b;接下來&#xff0c;按照它們在類中聲明的順序&…

windows USB 設備驅動開發-處理批傳輸的靜態流

在 USB 2.0 和更早版本的設備中&#xff0c;批量端點可以通過該端點發送或接收單個數據流。 在 USB 3.0 設備中&#xff0c;批量端點能夠通過該端點發送和接收多個數據流。 Windows 中 Microsoft 提供的 USB 驅動程序堆棧支持多個流。 這使客戶端驅動程序能夠將獨立的 I/O 請求…

GEE代碼實例教程詳解:長時間序列風速分析

簡介 在本篇博客中&#xff0c;我們將使用Google Earth Engine (GEE) 對長時間序列的風速數據進行分析。通過ERA5再分析數據集&#xff0c;我們可以計算2010年至2024年間的平均風速&#xff0c;并與1980年至2020年的風速數據進行比較。 背景知識 ERA5數據集 ERA5是ECMWF&am…

代碼隨想錄-Day53

739. 每日溫度 給定一個整數數組 temperatures &#xff0c;表示每天的溫度&#xff0c;返回一個數組 answer &#xff0c;其中 answer[i] 是指對于第 i 天&#xff0c;下一個更高溫度出現在幾天后。如果氣溫在這之后都不會升高&#xff0c;請在該位置用 0 來代替。 示例 1: …

【Linux】目錄的相關命令——cd,pwd,mkdir,rmdir

1.相對路徑與絕對路徑 在開始目錄的切換之前&#xff0c;你必須要先了解一下所謂的路徑&#xff08;PATH)&#xff0c;有趣的是&#xff1a;什么是相對路 與絕對路徑&#xff1f; 絕對路徑&#xff1a;路徑的寫法“一定由根目錄/寫起”&#xff0c;例如&#xff1a;/usr/shar…

Java版Flink使用指南——定制RabbitMQ數據源的序列化器

大綱 新建工程新增依賴數據對象序列化器接入數據源 測試修改Slot個數打包、提交、運行 工程代碼 在《Java版Flink使用指南——從RabbitMQ中隊列中接入消息流》一文中&#xff0c;我們從RabbitMQ隊列中讀取了字符串型數據。如果我們希望讀取的數據被自動化轉換為一個對象&#x…

Linux C++ 043-機房預約系統

Linux C 043-機房預約系統 本節關鍵字&#xff1a;Linux、C、機房預約系統 相關庫函數&#xff1a;for_each、open、close、write 系統簡介 學校現在有幾個規格不同的機房&#xff0c;由于使用經常出現撞車現象&#xff0c;現開發一套機房預約系統&#xff0c;解決這一問題。…

Java進階---抽象方法abstract

抽象方法 案例引入: 在某個寵物店的寵物資源管理系統中有&#xff1a; 狗類&#xff1a;屬性&#xff08;姓名&#xff09;&#xff0c;行為&#xff08;吃飯&#xff09; 貓類&#xff1a;屬性&#xff08;姓名&#xff09;&#xff0c;行為&#xff08;吃飯&#xff09;利用…

智慧科技照亮水利未來:深入剖析智慧水利解決方案如何助力水利行業實現高效、精準、可持續的管理

目錄 一、智慧水利的概念與內涵 二、智慧水利解決方案的核心要素 1. 物聯網技術&#xff1a;構建全面感知網絡 2. 大數據與云計算&#xff1a;實現數據高效處理與存儲 3. GIS與三維可視化&#xff1a;提升決策支持能力 4. 人工智能與機器學習&#xff1a;驅動決策智能化 …

LibreOffice的國內鏡像安裝地址和node.js國內快速下載網站

文章目錄 1、LibreOffice1.1、LibreOffice在application-conf.yml中的配置2、node.js 1、LibreOffice 國內鏡像包網址&#xff1a;https://mirrors.cloud.tencent.com/libreoffice/libreoffice/ 1.1、LibreOffice在application-conf.yml中的配置 jodconverter:local:enable…

Java面試八股之MySQL中int(10)和bigint(10)能存儲讀的數據大小一樣嗎

MySQL中int(10)和bigint(10)能存儲讀的數據大小一樣嗎 在MySQL中&#xff0c;int(10)和bigint(10)的數據存儲能力并不相同&#xff0c;盡管括號內的數字&#xff08;如10&#xff09;看起來似乎暗示著某種關聯&#xff0c;但實際上這個數字代表的是顯示寬度&#xff0c;而不是…

vue學習day03-指令修飾符、v-bind對于樣式控制的增強、v-model應用于其他表單元素

7、指令修飾符 &#xff08;1&#xff09;概念&#xff1a; 通過“.”指明一些指令后綴&#xff0c;不同后綴封裝了不同的處理操作->簡化代碼 &#xff08;2&#xff09;按鍵修飾符 keyup.enter->鍵盤回車監聽 &#xff08;3&#xff09;v-model修飾符 v-model.tri…

vue + element ui 實現側邊欄導航欄折疊收起

首頁布局如下 要求點擊按鈕,將側邊欄收縮, 通過 row 和 col 組件&#xff0c;并通過 col 組件的 span 屬性我們就可以自由地組合布局。 折疊前 折疊后 <template><div class"app-layout" :class"{ collapse: app.isFold }"><div class&…

Onekey正版steam分流下載工具

今天給大家介紹的是一款下載steam游戲的工具。Onekey工具&#xff0c;是一款游戲下載器&#xff0c;可以下載steam正版分流游戲。下載正版分流的網站很多&#xff0c;但是都是網盤或者迅雷下載&#xff0c;或者游戲盒子下載&#xff0c;速度都很慢。這款軟件是用steam下載的&am…

Flask項目搭建及部署 —— Python

flask搭建及部署 pip 19.2.3 python 3.7.5 Flask 1.1.1 Flask-SQLAlchemy 2.4.1 Pika 1.1.0 Redis 3.3.11 flask-wtf 0.14.2 1、創建flask項目&#xff1a; 創建完成后整個項目結構樹&#xff1a; app.py: 項?管理?件&#xff0c;通過它管理項?。 static: 存放靜態…

自定義控件視圖篇(一)測量與布局

在自定義控件的開發過程中&#xff0c;"視圖篇"的測量與布局是非常關鍵的步驟&#xff0c;這直接決定了控件的尺寸、位置以及子視圖的排列方式。下面我將詳細介紹測量和布局的過程&#xff0c;以及如何在自定義控件中正確實現這些步驟。 視圖的測量 (onMeasure) 在…

2021版本的idea熱部署的詳細步驟

背景&#xff1a;我是自己用的是2021版本的idea,然后發現跟2023版本的熱部署不太一樣&#xff0c;所以&#xff0c;今天自己出一期這樣的文章吧&#xff01;&#xff01;&#xff01;其他人配置的時候根據自己的情況&#xff0c;來閱讀吧&#xff01; 第一步&#xff1a;方式一…

MyBatis是如何分頁的及原理

MyBatis 是一種持久層框架&#xff0c;支持通過配置文件和注解將 SQL 映射為 Java 對象。在實際開發中&#xff0c;查詢數據時經常需要進行分頁處理。 MyBatis 也提供了支持分頁的方案&#xff0c;其主要思路是使用 Limit 偏移量和限制個數&#xff0c;來獲取指定數量的數據。下…

音視頻入門基礎:H.264專題(10)——FFmpeg源碼中,存放SPS屬性的結構體和解碼SPS的函數分析

一、引言 FFmpeg源碼對AnnexB包裝的H.264碼流解碼過程中&#xff0c;通過ff_h2645_extract_rbsp函數拿到該H.264碼流中的某個NALU的NALU Header RBSP后&#xff08;具體可以參考&#xff1a;《FFmpeg源碼&#xff1a;ff_h2645_extract_rbsp函數分析》&#xff09;&#xff0c…

【沐風老師】3DMAX建筑體塊生成插件BuildingBlocks使用方法詳解

BuildingBlocks建筑體塊生成插件使用方法詳解 聽說你還在手動建配景樓&#xff1f;有了BuildingBlocks這個插件&#xff0c;一分鐘搞定喔&#xff01; 3DMAX建筑體塊生成插件BuildingBlocks&#xff0c;用于快速自定義街道及生成配景樓區塊。 【適用版本】 3dMax2019及更高版…