文档章节

java数组算法的相关实现

房乔
 房乔
发布于 2016/03/18 14:32
字数 381
阅读 10
收藏 0

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();


}


}


© 著作权归作者所有

房乔
粉丝 0
博文 13
码字总数 2637
作品 0
广州
程序员
私信 提问
可视化的数据结构和算法

还记得之前发布过的那个关于可视化排序的文章吗?在网上又看到了一个旧金山大学David Galles做的各种可视化的数据结构和基本算法的主页,网址在这里,大家可以看看。我把这个页面的目录列在下...

戴威
2011/05/12
962
5
Scala学习(三)数组相关操作

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

我爱春天的毛毛雨
2018/09/30
0
0
可视化的数据结构和算法

还记得之前发布过的那个关于可视化排序的文章吗?在网上又看到了一个旧金山大学David Galles做的各种可视化的数据结构和基本算法的主页,网址在这里,大家可以看看。我把这个页面的目录列在下...

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyangzhizhou/article/details/79504818 前言 在 Java 编程中经常会遇到数组拷贝操作,一般会有如下四种方...

超人汪小建(seaboat)
2018/03/10
0
0
08《Java核心技术》之Vector、ArrayList、LinkedList有何区别?

一、提出问题 我们在日常的工作中,能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同,比如我们最早接触到的 C 语言,需要自己实现很多基础数据结构,管理和操...

飞鱼说编程
2018/10/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

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

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

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

参考: http://blog.csdn.net/lihao21/article/details/6302196 /* class for function predicate * - operator() returns whether a person is less than another person */ c......

shzwork
21分钟前
0
0
抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

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

须臾之余
今天
3
0
springboot配置百度UEditor 富文本详解

富文本简介 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码... 准备工作 ueditor需要单独文...

wotrd
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部