演算法學習 基本資料型別的陣列二分查詢實現

2022-08-03 08:06:11 字數 1722 閱讀 6688

public class orderarray 

public int getsize()

public void insert(long value)

int i;

for (i = 0; i < size; i++)

} for (int j = size; j > i; j--)

// 插入當前位置

a[i] = value;

size++;

} public boolean delete(long value) else

size--;

return true;

} }public void display()

} /**

* 二分查詢 查詢所給元素在集合中的位置

* * @param searchkey

* @return

*/public int find(long searchkey) else else

}} }

/*** 得到最大的那個陣列元素

* * @return

*/public long getmax()

} return max;

} /**

* 刪除重複元素

*/public void nodup()

}} // 存放非重複元素的陣列

long noduparray = new long[size - count];

for (int k = 0, l = 0; k < size; k++)

} a = noduparray;

size = noduparray.length;

} /**

* 將兩個有序陣列合併為乙個有序陣列

* * @param oneorderarray

* @param otherorderarray

* @return

*/public long merge(long oneorderarray, long otherorderarray) else

}/**

* * 後面連兩個while迴圈是用來保證兩個陣列比較完之後剩下的乙個陣列裡的元素能順利傳入. 上面while迴圈跳出的條件有:

* ①兩個陣列元素剛好比較完沒有剩餘 ②i有剩餘 ③j有剩餘

*/while (i < oneorderarray.length)

result[k++] = oneorderarray[i++];

while (j < otherorderarray.length)

result[k++] = otherorderarray[j++];

return result;

} else

} /**

* 檢查是否是有序陣列

* * @param array

* @return

*/private boolean checksort(long array) else

change = false;

}} return true;

}}

客戶端使用

public class orderarrayclient ;

long b= ;

long result = array.merge(a, b);

for(long i : result)

}}

二 基本資料型別

數字型別 int float 字串型別 str 列表型別 list 字典型別 dict 一 數字型別 1.1 int型別 整型 在python中可以對整數進行加 減 乘 除 運算。1 3 4 5 3 2 6 6 36 10 4 2.5 定義 age 22 print type age int 1.2...

python基本資料型別(二)

列表 列表初始化 list heihei haha hehe nums 1,3,5,7,8,13,20 1.查詢列表中的值 nums 0 1 print nums 0 nums 0 nums 2 5 5,7,8 從下標為2的元素切割到下標為5的元素,但不包含下標為5的元素 print nums 2 ...

oracle學習筆記(二) 基本資料型別

number 4,1 999.1 四個數字,小數字一位 decimal注意 日期型別的字段格式,可以通過以下三種方式 1.date 2014 12 22 推薦使用 2.20 10月 2013 中文環境oracle預設格式 3.to date 2014 12 22 yyyy mm dd 格式可變,如y...