日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java直线函数_java实现顺序结构线性列表的函数代码

發(fā)布時間:2024/9/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java直线函数_java实现顺序结构线性列表的函数代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

package com.ncu.list;

/**

*

* 順序結(jié)構(gòu)線性列表

*

*

*/

public class SquenceList {

private int size; // 線性表的長度

private Object[] listArray;

private int currenSize = 0; // 當(dāng)前線性表中的數(shù)據(jù)

public SquenceList() {

}

public SquenceList(int size) {

this.size = size;

listArray = new Object[size];

}

public void arrayCopy(int index) {

Object newArray[] = new Object[size];

for (int i = 0; i < currenSize; i++) {

if (i >= index) {

newArray[i] = listArray[i + 1];

} else {

newArray[i] = listArray[i];

}

}

listArray = newArray;

newArray = null; // 釋放資源

}

/**

* 根據(jù)索引位置移除元素

*

* @param index

*/

public void remove(int index) {

index = index - 1;

if (index < 0 || index > currenSize) {

System.out.println("線性表索引越界");

}

if (currenSize == 0) {

System.out.println("線性表為空");

} else {

currenSize--;

arrayCopy(index);

if (currenSize == 0) {

listArray = null;

}

}

}

/**

* 根據(jù)元素內(nèi)容移除元素

*

* @param element

*/

public void removeLocate(T element) {

for (int i = 0; i < currenSize;) {

if (element.equals(listArray[i])) {

remove(i + 1);

} else {

i++;

}

}

}

/**

* 從線性表尾段插入數(shù)據(jù)

*

* @param element

*/

public void add(T element) {

if (currenSize > size || currenSize < 0) {

System.out.println("線性表索引越界");

} else {

listArray[currenSize] = element;

currenSize++;

}

}

private void insert(T element, int index) {

index = index - 1;

if (currenSize > size || currenSize < 0 || index < 0

|| index >= currenSize) {

System.out.println("線性表索引越界");

} else {

Object newArray[] = new Object[size];

for (int i = 0; i < currenSize; i++) {

if (i >= index) {

newArray[index] = element;

newArray[i + 1] = listArray[i];

} else {

newArray[i] = listArray[i];

}

}

listArray = newArray;

newArray = null;

currenSize++;

}

}

/**

* 在指定索引位置插入數(shù)據(jù)

*

* @param element

* @param index

*/

public void add(T element, int index) {

if (index == size) {

add(element);

} else {

insert(element, index);

}

}

/**

* 刪除線性表最后一個元素

*/

public void delete() {

if (isEmpty()) {

System.out.println("線性表為空,不能刪除");

} else {

listArray[currenSize - 1] = null;

currenSize--;

}

}

/**

* 判讀線性表是否為空

*

* @return

*/

public boolean isEmpty() {

if (currenSize == 0) {

return true;

} else {

return false;

}

}

/**

* 根據(jù)索引找到相應(yīng)的元素

*

* @param index

* @return

*/

public T get(int index) {

T obj = null;

if (isEmpty() || index > currenSize || index < 0) {

System.out.println("線性表為空,不能刪除");

} else {

obj = (T) listArray[index - 1];

}

return obj;

}

/**

* 清空線性表

*/

public void clear() {

size = 0;

currenSize = 0;

}

/**

* 得到線性表當(dāng)前的元素的個數(shù)

*

* @return

*/

public int size() {

return currenSize;

}

public void showList() {

if (currenSize > 0) {

for (int i = 0; i < currenSize; i++) {

System.out.println(listArray[i]);

}

} else {

System.out.println("線性表為空");

}

System.out.println("------------");

}

public static void main(String[] args) {

SquenceList list = new SquenceList(10);

}

}

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的java直线函数_java实现顺序结构线性列表的函数代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。