## java数组算法的相关实现 原

房乔

package com.lee.sort;

public class BubbleSort {

public int[] arr;

public int index;

public BubbleSort(int size) {

arr = new int[size];

index = 0;

}

public void insert(int num) {

arr[index] = num;

index++;

}

public boolean find(int num) {

int i;

for (i = 0; i <= index; i++) {

if (arr[i] == num)

break;

}

if (i > index)

return false;

return true;

}

public void delete(int num) {

int i;

for (i = 0; i <= index; i++) {

if (arr[i] == num) {

for (int j = i; j <= index; j++) {

arr[j] = arr[j + 1];

}

index--;

}

}

}

public void display() {

for (int i = 0; i < index; i++)

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

}

public void update(int index, int num) {

arr[index] = num;

}

/**

* @Title : binaryserach @Description: 数组的二分查找实现 @param @param num

*         设定文件 @return int 代表找到了某个数 @throws

*/

public int binaryserach(int num) {

int begin = 0;

int end = index - 1;

// System.out.println("index" + "----" + index);

int cur;

while (true) {

cur = (begin + end) / 2;

if (arr[cur] == num)

return cur;

else if (begin > end)

return index;

else {

if (arr[cur] < num)

begin = cur + 1;

else

end = cur - 1;

}

}

}

/**

* @Title: bubblesort

* @Description: 冒泡排序

* @param    时间复杂度n^2

* @return void

* @throws

*/

public void bubblesort() {

for (int i = 0; i < index; i++)

for (int j = i; j < index; j++) {

if (arr[i] >= arr[j]) {

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

/**

*

* @Title: main

* @Description: 选择排序

* @param

* @return void

* @throws

*/

public void selectsort()

{

for(int i=0;i<index;i++)

for(int j=i+1;j<index;j++)

{

if(arr[i]>=arr[j])

{

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

/**

* @Title: insertsort

* @Description: 选择排序

* @param     N^2

* @return void    返回类型

* @throws

*/

public void insertsort()

{

for(int i=1;i<index;i++)

{

//System.out.println(index);

int temp = arr[i];

while(i>0 && arr[i-1]>=temp)

{

arr[i] = arr[i-1];

--i;

}

arr[i] = temp;

}

}

public static void main(String[] args) {

BubbleSort bubble = new BubbleSort(10);

bubble.insert(1);

bubble.insert(0);

bubble.insert(12);

bubble.insert(9);

bubble.insert(8);

bubble.insert(5);

bubble.insert(2);

bubble.insert(3);

bubble.display();

bubble.insertsort();

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

bubble.display();

}

}

### 房乔

2011/05/12
962
5
Scala学习（三）数组相关操作

1.定长数组 如果你需要一个长度不变的始祖，可以使用Scala中的Array。例如： 2.变长数组：数组缓冲 对于那种长度有变化的数组，Java有ArrayList，C++有vector。Scala中有等效的数据结构Array...

2018/09/30
0
0

2011/05/12
16
0
System.arraycopy为什么快

2018/03/10
0
0

2018/10/11
0
0

OSChina 周五乱弹 —— 要步入《攻壳机动队》的世界了么？

Osc乱弹歌单（2019）请戳（这里） 【今日歌曲】 @ nnnm：说到音乐，这段一直是纯音乐在循环。每次听到久石让的Summer时心上都会莫名的感觉着轻松。《菊次郞的夏天》竟然是北野武的片子，没有...

11分钟前
22
2
C++ STL set::find的用法

shzwork
21分钟前
0
0

AQS——锁的底层支持 谈到并发，不得不谈ReentrantLock;而谈到ReentrantLock，不得不谈AbstractQueuedSynchronizer（AQS）！ 类如其名，抽象的队列式的同步器，AQS定义了一套多线程访问共享资...

3
0
springboot配置百度UEditor 富文本详解

wotrd

4
0