public class test{
private long[] arr;
private int elements;
public PDFReport(){
arr=new long[50];
};
public PDFReport(int maxsize){
arr=new long[maxsize];
}
public void insert(long value){
arr[elements] = value;
elements++;
}
public void display(){
System.out.print("[");
for (int i = 0; i < elements; i++) {
System.out.print(arr[i]+" ");
}
System.out.print("]");
}
public int seach (long value){
int i ;
for (i = 0; i < elements; i++) {
if(value==arr[i]){
break;
}
}
if(i==elements){
return -1;
}else{
return i;
}
}
public long seachindex (int index){
if(index>elements||index<0){
throw new ArrayIndexOutOfBoundsException();
}else{
return arr[index];
}
}
public void delete (int index){
if(index>elements||index<0){
throw new ArrayIndexOutOfBoundsException();
}else{
for (int i = index; i < elements; i++) {
arr[index] = arr[index+1];
}
elements--;
}
}
/**
* 二分法查找
*/
public int banrySeach(long value){
int middle = 0;
int low = 0;
int pow = elements;
while(true){
middle = (low+pow)/2;
if (arr[middle] == value){
return middle;
}else if(low>pow){
return -1;
}else{
if(arr[middle]>value){
pow = middle - 1;
}else
low = middle + 1;
}
}
}
//冒泡排序
public static void sort(long[] arr){
long tmp = 0;
for (int i = 0; i < arr.length-1; i++) {
for (int j = arr.length-1;j>i;j-- ) {
if(arr[j]<arr[j-1]){
tmp = arr[j-1];
arr[j] = arr[j-1];
arr[j-1]=tmp;
}
}
}
}
//选择排序
public static void selectSort(long arr[]){
int k = 0;
long tmp = 0;
for (int i = 0; i < arr.length-1; i++) {
k=i;
for (int j = i; j < arr.length; j++) {
if(arr[j]<arr[k]){
k = j;
}
}
tmp = arr[i];
arr[i] = arr[k];
arr[k] = tmp;
}
}
//直接插入排序
public static void Busort(long arr[]){
long tmp = 0;
for (int i = 1; i < arr.length; i++) {
tmp = arr[i];
int j = i;
j=i;
while(j>0&&arr[j]>=tmp){
arr[j]=arr[j-1];
j--;
}
arr[j] = tmp;
}
}
}
排序算法
最新推荐文章于 2020-11-03 20:15:38 发布