亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

順序線性表的代碼實現方法

2020-01-26 14:10:47
字體:
來源:轉載
供稿:網友

1、采用一個數組實現一個順序線性表中添加元素、刪除元素等基本操作

package com.ietree.basic.datastructure.Sequence;import java.util.Arrays;/** * 順序線性表 *  * @param <T> * @author Dylan */public class SequenceList<T> { private final int DEFAULT_SIZE = 16; // 保存數組的長度 private int capacity; // 定義一個數組用于保存順序線性表的元素 private Object[] elementData; // 保存順序表中元素的當前個數 private int size = 0;  // 以默認數組長度創建順序線性表 public SequenceList() {  capacity = DEFAULT_SIZE;  elementData = new Object[capacity]; }  // 以一個初始化元素創建順序線性表 public SequenceList(T element) {  this();  elementData[0] = element;  size++; }  /**  * 以指定長度的數組來創建順序線性表  * @param element 指定順序線性表中第一個元素  * @param initSize 指定順序線性表底層數組的長度  */ public SequenceList(T element, int initSize) {  capacity = 1;  // 把capacity設為大于initSize的最小的2的n次方  while (capacity < initSize) {   capacity <<= 1;  }  elementData = new Object[capacity];  elementData[0] = element;  size++; }  // 獲取順序線性表的大小 public int length() {  return size; }  // 獲取順序線性表中索引為i處的元素 public T get(int i) {  if (i < 0 || i > size - 1) {   throw new IndexOutOfBoundsException("線性表索引越界");  }  return (T) elementData[i]; }  // 查找順序線性表中指定元素的索引 public int locate(T element) {  for (int i = 0; i < size; i++) {   if (elementData[i].equals(element)) {    return i;   }  }  return -1; }  // 向順序線性表的指定位置插入一個元素 public void insert(T element, int index) {  if (index < 0 || index > size) {   throw new IndexOutOfBoundsException("線性表索引越界");  }  ensureCapacity(size + 1);  // 將指定索引處之后的所有元素向后移動一格  System.arraycopy(elementData, index, elementData, index + 1, size - index);  elementData[index] = element;  size++; }  // 在插入元素之前需要確保順序線性表的長度大于插入之后順序線性表的長度 private void ensureCapacity(int minCapacity) {    // 如果數組的原有長度小于目前所需的長度  if (minCapacity > capacity) {   // 不斷地將capacity * 2,直到capacity大于minCapacity   while (capacity < minCapacity) {    capacity <<= 1;   }   elementData = Arrays.copyOf(elementData, capacity);  } }  // 在線性順序表的開始處添加一個元素 public void add(T element) {  insert(element, size); }  // 刪除順序線性表中指定索引處的元素 public T delete(int index) {  if (index < 0 || index > size - 1) {   throw new IndexOutOfBoundsException("線性表索引越界");  }  T oldValue = (T) elementData[index];  int numMoved = size - index - 1;  if (numMoved > 0) {   System.arraycopy(elementData, index + 1, elementData, index, numMoved);  }  // 清空最后一個元素  elementData[--size] = null;  return oldValue; }  // 刪除順序線性表中最后一個元素 public T remove() {  return delete(size - 1); }  // 判斷順序線性表是否為空表 public boolean empty() {  return size == 0; }  // 清空線性表 public void clear() {  Arrays.fill(elementData, null);  size = 0; } public String toString() {  if (size == 0) {   return "[]";  } else {   StringBuilder sb = new StringBuilder("[");   for (int i = 0; i < size; i++) {    sb.append(elementData[i].toString() + ",");   }   int len = sb.length();   return sb.delete(len - 2, len).append("]").toString();  } }}

測試模擬線性表的基本操作:

package com.ietree.basic.datastructure.Sequence;/** * 測試類 *  * @author Dylan */public class SequenceListTest {  public static void main(String[] args) {  SequenceList<String> list = new SequenceList<String>();  list.add("aaa");  list.add("bbb");  list.add("ccc");  list.add("ddd");  list.insert("eee", 1);  System.out.println(list);  list.delete(2);  System.out.println(list);  System.out.println("ccc在順序線性表中的位置:" + list.locate("ccc")); }}

程序輸出:

[aaa,eee,bbb,ccc,dd][aaa,eee,ccc,dd]

ccc在順序線性表中的位置:2

以上這篇順序線性表的代碼實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品模特av私拍在线观看| 亚洲国产成人久久综合一区| 欧美日韩免费区域视频在线观看| 亚洲电影免费在线观看| 国产精品美女久久久久久免费| 亚洲无限乱码一二三四麻| 国产亚洲欧美日韩一区二区| 日韩亚洲欧美中文在线| 亚洲香蕉成人av网站在线观看| 一区二区三区视频免费在线观看| 国产亚洲a∨片在线观看| 69国产精品成人在线播放| 中文字幕日韩精品有码视频| 亚洲精品在线91| 精品久久久久久亚洲国产300| 国内精品久久久久伊人av| 亚洲最大成人免费视频| 国产97在线|亚洲| 国产精品久久久久久中文字| 亚洲成人激情在线观看| 久久伊人免费视频| 一区二区av在线| 久久人人看视频| 国模精品系列视频| 亚洲国产精品嫩草影院久久| 78色国产精品| 国产福利视频一区二区| 国产日韩换脸av一区在线观看| 国产婷婷成人久久av免费高清| 欧美视频免费在线| 亚洲国产精品字幕| 国产精品美女www爽爽爽视频| 色狠狠久久aa北条麻妃| 精品爽片免费看久久| 68精品国产免费久久久久久婷婷| 国产精品福利在线观看网址| 日韩精品中文字| 操日韩av在线电影| 九九热视频这里只有精品| 国产精品激情av电影在线观看| 国产精品一香蕉国产线看观看| 久久久久久亚洲精品不卡| 久久男人的天堂| 亚洲美女精品久久| 久久精品国产精品| 国产成+人+综合+亚洲欧美丁香花| 色综合久久中文字幕综合网小说| 国产日韩欧美日韩| 国产精品日韩欧美大师| 色yeye香蕉凹凸一区二区av| 国产精品一香蕉国产线看观看| 欧美日韩亚洲91| 97久久精品人搡人人玩| 成人激情在线播放| 国产日韩在线免费| 国产精品入口免费视频一| 国产91精品久久久久| 91嫩草在线视频| 欧美一级淫片播放口| 中文字幕在线日韩| 欧美成人午夜免费视在线看片| 黑人狂躁日本妞一区二区三区| 久久久久久91香蕉国产| 色偷偷91综合久久噜噜| 精品在线小视频| 色偷偷88888欧美精品久久久| 精品一区二区三区四区| 亚洲精品第一页| 精品久久久久久久久久久| 欧美日韩xxxxx| 欧美裸体xxxxx| 国产在线高清精品| 色久欧美在线视频观看| 在线观看欧美日韩| 国产色婷婷国产综合在线理论片a| 成人激情视频网| 精品久久中文字幕久久av| 欧美日韩福利电影| 欧美激情视频网址| 69久久夜色精品国产69| 国产一区二区三区视频免费| 亚洲国产精品久久精品怡红院| 欧美性xxxx极品高清hd直播| 久久99久久久久久久噜噜| 国产精品高潮呻吟久久av无限| 欧美日韩国产丝袜美女| 国产美女久久精品香蕉69| 亚洲免费av电影| 日韩激情第一页| 亚洲一区二区自拍| 成人a在线观看| 中文字幕亚洲情99在线| 国产精品夫妻激情| 91av在线播放| 97视频网站入口| 日韩极品精品视频免费观看| 日韩av电影在线播放| 97久久伊人激情网| 九九视频直播综合网| 国产黑人绿帽在线第一区| 欧洲亚洲免费视频| 久久天天躁狠狠躁夜夜爽蜜月| 国产一级揄自揄精品视频| 久久人91精品久久久久久不卡| 国外成人在线视频| 日韩欧美精品在线观看| 欧美亚洲第一页| 成人福利在线观看| 91久久久亚洲精品| 97视频人免费观看| 欧美综合国产精品久久丁香| 亚洲男人天天操| 国产精品久久久久久久久久久不卡| 精品香蕉在线观看视频一| 911国产网站尤物在线观看| 成人亲热视频网站| 日韩亚洲一区二区| 麻豆乱码国产一区二区三区| 欧美黄色成人网| 国产精品三级网站| 操人视频在线观看欧美| 亚洲级视频在线观看免费1级| 亚州av一区二区| 91精品啪aⅴ在线观看国产| 精品无码久久久久久国产| 97在线视频免费观看| 日韩av手机在线观看| 欧美一区在线直播| 欧美亚洲国产精品| 亚洲精品久久久久久久久久久久| 91在线中文字幕| 日韩免费电影在线观看| 欧美极品美女视频网站在线观看免费| 久久久精品视频在线观看| 欧美成人精品一区二区| 国产亚洲人成网站在线观看| 亚洲四色影视在线观看| 91在线高清视频| 高清欧美电影在线| 久久久久成人网| 亚洲精品视频播放| 狠狠色香婷婷久久亚洲精品| 亚洲人成网7777777国产| 日韩欧美极品在线观看| 精品国产一区二区三区久久狼5月| 亚洲福利精品在线| 91黑丝高跟在线| 欧美极品少妇xxxxx| 不卡av电影在线观看| 日本乱人伦a精品| 黑人狂躁日本妞一区二区三区| 精品国产依人香蕉在线精品| 日本一欧美一欧美一亚洲视频| 亚洲视频在线观看视频| 91手机视频在线观看| 日韩在线一区二区三区免费视频| 国产精品色午夜在线观看| 久久久亚洲成人| 成人欧美一区二区三区黑人| 另类专区欧美制服同性| 亚洲自拍高清视频网站| 日韩精品一二三四区| 中文字幕9999| 高清欧美性猛交xxxx黑人猛交|