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

首頁 > 編程 > Java > 正文

數據結構java版之《數組》

2019-11-06 06:16:23
字體:
來源:轉載
供稿:網友

本篇文章,使用java語言,封裝一個數組工具類。不使用系統提供的api。

包括一些數組的增刪改查,有序添加,二分查找等功能。

package ch01;public class MyArray {	// 底層內部的數組	PRivate long[] arr;	// 數組容量,記錄用戶使用數組的長度	private int elements;	/**	 * 無參構造,設置默認數組大小。	 */	public MyArray() {		arr = new long[50];	}	/**	 * 帶參構造,用戶指定數組大小	 * 	 * @param size	 */	public MyArray(int size) {		arr = new long[size];	}	/**	 * 往數組增加元素(增)	 */	public void insert(int value) {		arr[elements] = value;		// 添加元素,容器記錄值也要增加		elements++;	}	/**	 * 在指定位置添加元素	 * 	 * @param index	 * @param value	 */	public void insert(int index, int value) {		// 創建新的數組,比原來數組長度多1		long[] tempArray = new long[elements + 1];		//新插入的位置,就制定添加在索引處		tempArray[index] = value;		// 判斷數組角標越界		if (index < 0 || index >= elements) {			throw new ArrayIndexOutOfBoundsException();		} else {			for (int i = 0; i < elements; i++) {				if (i < index) {					//原來數組索引左側全部給新數組左側					tempArray[i] = arr[i];				} else {					//原來數組索引位置往后全部賦值給新數組索引后邊的位置					tempArray[i + 1] = arr[i];				}			}		}		// 把最新數組賦值給最初的數組		arr = tempArray;		elements++;	}		/**	 * 添加的數據,默認自然排序	 * @param value	 */	public void insertOrder(long value){		int i = 0;		for (i = 0; i < elements; i++) {			//比較,添加的元素第一次小于數組位置元素時,跳出循環,該i值位置就是添加元素的位置			if(value < arr[i]){				break;//跳出循環后,i的值保留,就是要添加數據的數組索引位置			}		}				//倒著遍歷		for (int j = elements; j > i; j--) {			//原來數組i位置以后的數組,重新 以次 往后一個位置賦值。這樣才可以保證添加元素在最小位置,保證排序			arr[j] = arr[j-1];		}				//把添加元素,加載指定位置		arr[i] = value;		//添加一次,容器標記加一		elements++;	}	/**	 * 遍歷數組	 */	public void disPlay() {		System.out.print("[");		for (int i = 0; i < elements; i++) {			if (i == elements - 1) {				System.out.println(arr[i] + "]");			} else {				System.out.print(arr[i] + " ");			}		}	}	/**	 * 根據索引,獲取索引位置的值	 * 	 * @param index	 * @return	 */	public long get(int index) {		// 判斷數組角標越界		if (index < 0 || index >= elements) {			throw new ArrayIndexOutOfBoundsException();		} else {			return arr[index];		}	}	/**	 * 刪除指定索引位置的值	 * 	 * @param index	 */	public void remove(int index) {		// 判斷數組角標越界		if (index < 0 || index >= elements) {			throw new ArrayIndexOutOfBoundsException();		} else {			for (int i = index; i < elements; i++) {				// 把index位置的數據替換掉了				arr[i] = arr[i + 1];			}			elements--;		}	}	/**	 * 修改某個位置的數據	 * 	 * @param index	 */	public void upData(int index, int value) {		// 判斷數組角標越界		if (index < 0 || index >= elements) {			throw new ArrayIndexOutOfBoundsException();		} else {			arr[index] = value;		}	}	/**	 * 根據值找出對應的索引,找不到就返回-1	 * 線性查找。	 * @param value	 * @return	 */	public int search(int value) {		int index = -1;		for (int i = 0; i < elements; i++) {			if (arr[i] == value) {				index = i;			}		}		return index;	}		/**	 * 二分查找,超找元素的索引。	 * 前提:必須是有序數組。無需數組通過上述線性查找方式	 * @param value	 * @return	 */	public int binarySearch(long value){		/*1、記錄最大索引、最小索引		2、計算中間索引		3、比較中間索引值與添加元素		        相等  :  直接返回		        不相同		            大了  往左查找   max = middle-1;		            小了  往右查找   min = middle+1;		返回2		當min > max 的時候,跳出循環表示查找不到數據。返回-1。*/		int max = elements-1;		int min = 0;		int middle = 0;		while(true){			middle = (max+min)/2;			// 相等  :  直接返回			if(arr[middle] == value){				return middle;			}else if(arr[middle] > value){				//大了 左邊查找				max = middle -1;			}else {				//小了  往右查找				min = middle +1;			}						if(min > max){				return -1;			}		}	}}

微信搜索公眾號    codeHoward   在公眾號可以最早獲取博客最新更新消息,以及了解一些大公司面試經驗。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影中文字幕在线| 国产精品最新在线观看| 91在线精品播放| 日韩欧美国产成人| 亚洲自拍偷拍色图| 国产成人综合亚洲| 欧美夫妻性生活视频| 亚洲成人精品在线| 国产成人97精品免费看片| 亚洲系列中文字幕| 亚洲视频一区二区三区| 97久久久免费福利网址| 久久久综合av| 欧美成人h版在线观看| 国产日韩中文在线| 欧美激情亚洲国产| 色噜噜狠狠色综合网图区| 九九热精品视频在线播放| 亚洲国产日韩欧美在线动漫| 欧美一级高清免费播放| 亚洲色图15p| 亚洲香蕉在线观看| 亚洲国产精品久久91精品| 国产精品日韩在线观看| 国产精品直播网红| www高清在线视频日韩欧美| 欧美性猛交xxxx偷拍洗澡| 久久精品久久久久电影| 国产亚洲免费的视频看| 欧美黄网免费在线观看| 国产成人小视频在线观看| 国产精品激情自拍| 中文字幕精品久久| 欧美日韩成人网| 国产精品看片资源| 亚洲aaaaaa| 国产精品久久网| 日韩av电影在线播放| 激情懂色av一区av二区av| 国产成人精品综合| 日韩电影在线观看永久视频免费网站| 亚洲日本中文字幕免费在线不卡| 一区二区亚洲精品国产| www.欧美精品| 亚洲永久在线观看| 国产精品久久久久av| 亚洲免费影视第一页| 欧美性猛交xxxx黑人猛交| 欧美激情精品久久久久久蜜臀| 日韩黄色av网站| 欧美最顶级的aⅴ艳星| 日韩av影视综合网| 日本精品免费观看| 日韩免费在线电影| 欧美日韩在线视频一区二区| 亚洲一区亚洲二区亚洲三区| 亚洲欧美色婷婷| 欧美成人国产va精品日本一级| 亚洲精品av在线播放| 欧美电影免费观看大全| 欧美在线视频网站| 欧美电影免费观看高清完整| 亚洲精品动漫100p| 国产精品91久久| 国产精品中文久久久久久久| 国产精品视频专区| 日本亚洲欧洲色α| 日韩av片电影专区| 成人久久久久爱| 国产精品老牛影院在线观看| 亚洲深夜福利网站| 91产国在线观看动作片喷水| zzijzzij亚洲日本成熟少妇| 性色av一区二区咪爱| 国产视频在线观看一区二区| 亚洲人成电影网站色…| 日韩精品极品在线观看播放免费视频| 亚洲最新视频在线| 欧美日韩爱爱视频| 少妇久久久久久| 国产精品一区二区三区在线播放| 国产一区二区三区在线免费观看| 欧美成人国产va精品日本一级| 国产精品久久色| 色一区av在线| 亚洲国产欧美一区二区丝袜黑人| 欧美日韩中国免费专区在线看| 亚洲免费高清视频| 国产成人久久久精品一区| 午夜免费在线观看精品视频| 久久色免费在线视频| 美女视频黄免费的亚洲男人天堂| 亚洲嫩模很污视频| 日韩av电影国产| 国产精品美女呻吟| 伦伦影院午夜日韩欧美限制| 久久久久久久一区二区三区| 国产精品96久久久久久又黄又硬| 国产精品免费电影| 国产免费一区二区三区在线观看| 日本中文字幕成人| 国产精品揄拍一区二区| 国产在线一区二区三区| 26uuu另类亚洲欧美日本老年| 国产精品久久久久久久久借妻| 日韩a**中文字幕| 福利视频第一区| 欧美精品videosex性欧美| 亚洲精品一区二区三区婷婷月| 日本精品视频在线观看| 亚洲欧美日韩另类| 日韩黄色在线免费观看| 欧美床上激情在线观看| 亚洲国语精品自产拍在线观看| 久久久久久久久久久网站| 亚洲精品综合精品自拍| 成人久久精品视频| 国产精品主播视频| 国产999精品久久久| 日本国产欧美一区二区三区| 91香蕉嫩草神马影院在线观看| 亚洲精品国产精品自产a区红杏吧| 国产69精品久久久久9999| 欧美猛男性生活免费| 成人在线精品视频| 色妞在线综合亚洲欧美| 日本精品久久久| 亚洲男人天堂2024| 日韩成人激情影院| 国产精品久久久久久久久久久久久久| 91久久在线观看| 国产精品天天狠天天看| 麻豆乱码国产一区二区三区| 国产精品第3页| 亚州欧美日韩中文视频| 福利一区福利二区微拍刺激| 欧美激情视频网址| 日韩福利在线播放| 亚洲自拍高清视频网站| 亚洲国产黄色片| 大胆欧美人体视频| 日韩精品中文字幕在线| 亚洲国产精品免费| 亚洲精品视频在线观看视频| 亚洲美女视频网站| 国产91ⅴ在线精品免费观看| 26uuu亚洲国产精品| 国产欧美一区二区三区四区| 亚洲精品第一国产综合精品| 中文字幕国内精品| 欧美—级a级欧美特级ar全黄| 久久视频精品在线| 国产精品视频在线观看| www.日韩视频| 91精品国产综合久久香蕉最新版| 热久久美女精品天天吊色| 国产精品自拍网| 亚洲一区二区三区777| 久久精品成人欧美大片古装| 97国产精品视频人人做人人爱| 欧美一级电影久久| 亚洲片在线资源| 一区二区三区回区在观看免费视频| 国产精品久久久久秋霞鲁丝|