- 浏览: 606657 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (365)
- Java 基础知识(笔试面试有用) (35)
- SQL 相关 (11)
- Oracle笔试 (1)
- Java 笔试面试 (11)
- LINUX (12)
- ExtJS (21)
- Javascript (17)
- WebGIS (2)
- 软件工程 (3)
- 数据库 (17)
- 项目管理 (63)
- 工作流 (2)
- 计算机网络 (3)
- ZigBee技术及应用 (24)
- 单片机(AVR Studio) (7)
- 项目人力资源管理 (3)
- 项目管理高级知识 (4)
- JAVA技术 (12)
- 项目管理中的概念 (3)
- SQL SERVER (1)
- C++ (1)
- C/C++编程经验 (12)
- C和C++面试笔试题 (12)
- 其他IT技术笔试面试 (6)
- 名企笔试面试集锦 (16)
- 非技术 (10)
- C#相关 (1)
- Matlab相关 (2)
- 计算机专业课相关 (2)
- Web Service (1)
- Excel 使用 (1)
- PhotoShop相关 (4)
- ASP 相关 (2)
- android (1)
- Java WEB 相关 (1)
- web 安全相关 (7)
- 网络安全 (1)
- IBatis (1)
- web 开发技巧 (2)
- css 相关 (1)
- Ruby相关 (2)
- 生活 (3)
- 操作系统安全相关 (6)
- 操作系统相关 (1)
- PHP相关 (3)
- 开发经验 (12)
- Redis (1)
最新评论
package com.zhaopin; public class SortTest { static int data []={2,4,7,5,1,9,6,0,3,8}; public static void main(String args[]){ //sortDataByBubble(data); //冒牌排序 // sortDataBySelect(data); //选择排序 // sortDataByInsert(data); //选择排序 sortDataByShell(data,data.length); //选择排序 printData(data); } /** * 冒泡排序 * 时间复杂度为O(n的平方) * 稳定的排序 * @param data */ public static void sortDataByBubble(int data[]){ for(int i=0;i<data.length-1;i++){ for(int j=i+1;j<data.length;j++){ if(data[i]>data[j]){ int temp=data[i]; data[i]=data[j]; data[j]=temp; } } } } /** * 选择排序 * 时间复杂度为O(n的平方) * 稳定的排序 * @param data */ public static void sortDataBySelect(int data[]){ for(int i=0;i<data.length-1;i++){ int tempData=i; for(int j=i+1;j<data.length;j++){ if(data[tempData]>data[j]){ tempData=j; } } if(tempData!=i){ int temp=data[i]; data[i]=data[tempData]; data[tempData]=temp; } } } /** * 直接插入排序 * 时间复杂度为O(n的平方) * 稳定的排序 * @param data */ public static void sortDataByInsert(int data[]){ int tempData; for(int i=1;i<data.length;i++){ if(data[i-1]>data[i]){ tempData=data[i]; data[i]=data[i-1]; int j; for(j=i-2;(j>=0)&&(data[j]>tempData);j--){ data[j+1]=data[j]; } data[j+1]=tempData; } printData(data); //输出每次步骤 System.out.println(); } } /** * 希尔排序 * 时间复杂度为O(nLog2(n)) * 不稳定的排序 * @param data */ public static void sortDataByShell(int data[],int n){ int gap=n/2; while(gap>0){ for(int i=gap;i<n;i++){ int temp; if(data[i-gap]>data[i]){ temp=data[i]; data[i]=data[i-gap]; int j; for(j=i-2*gap;(j>0)&&(data[j]>temp);j=j-gap){ data[j+gap]=data[j]; } data[j+gap]=temp; } } gap=gap/2; } } /** * 二路归并排序 * 时间复杂度为O(nLog2(n)) * 不稳定的排序 * @param data */ public static void sortDataByMerging(int data[],int n){ } /** * 输出数组的内容 * @param data */ public static void printData(int data[]){ for(int i=0;i<data.length;i++){ System.out.print(data[i]); } } }
发表评论
-
Java 反射实例
2012-12-21 11:19 1389import java.lang.reflect.Met ... -
java.lang.IndexOutOfBoundsException: replaceAll 转义
2012-12-12 13:10 1226java.lang.IndexOutOfBoundsEx ... -
windows上jetspeed2安装和配置
2012-11-14 20:56 971windows上jetspeed2安装和配置 1、je ... -
Java 设计模式
2012-09-25 22:19 3707Java设计模式-图解-附代码 ... -
Java 基础学习
2012-09-25 22:17 956Java语言基础 谈到Java语言基础学习的书籍, ... -
转载的一篇关于如何优化JAVA代码及提高效率的文章
2012-09-23 09:49 2204可供程序利用的资源(内存、CPU时间、网络带宽等)是有限 ... -
面向对象
2012-09-21 21:04 961重写方法规则如下: * 变元 ... -
声明和访问控制
2012-09-19 09:00 1095Java合法标识符规范 (1)标识符必须以字母,货币符 ... -
break continue 用法
2012-09-07 08:48 11121.一般的用法:continue 和break用于跳出循 ... -
Java线程唤醒与阻塞
2012-09-01 17:09 18337阻塞指的是暂停一个线 ... -
Java EE面试题
2012-08-25 10:06 20151、Java EE是什么? 答 ... -
Spring面试题
2012-08-25 10:02 11311、什么是Spring框架? 答:Spring框架是一个分 ... -
Hibernate面试题
2012-08-25 10:01 8681、什么是ORM? 答: ... -
Struts面试题
2012-08-25 09:57 6751、MVC的各个部分都有那些技术来实现?如何实现? ... -
JSP Web应用开发面试题
2012-08-25 09:56 6901、Servlet执行时一般实现哪几个方法? 答:Serv ... -
JAVA面试宝典-05
2012-08-22 22:25 1162101、java中会存在内存泄 ... -
JAVA面试宝典-04
2012-08-22 22:18 87371、简述synchronized和java. ... -
JAVA面试宝典-03
2012-08-22 22:16 93751、垃圾回收的优点和 ... -
JAVA面试宝典-02
2012-08-22 22:14 95611、HashMap和Hashtable的区别。 HashM ... -
JAVA面试宝典-01
2012-08-22 22:11 9241、String是最基本的数据 ...
相关推荐
本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...
本文将深入探讨Java中实现的四种基本排序算法:插入排序、交换排序(包括快速排序和冒泡排序)、选择排序以及归并排序。虽然树形选择排序和堆排序在这次实现中未涵盖,但理解这四种排序算法的基本原理和Java实现方式...
本文将深入探讨如何使用Java实现常见的排序算法,同时也会涉及到一些工具的使用和源码解析。 一、冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,通过重复遍历待排序的数列,一次比较两个元素,如果他们的...
在编程领域,排序算法是计算机科学中的核心概念,特别是在Java这样的高级编程语言中。排序算法是用来组织和优化数据结构的关键工具,使得数据按照特定规则(如升序或降序)排列。以下是对Java中几种常见排序算法的...
希望对大家有些帮助 用java实现常用的排序算法
本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...
### Java常用八大排序算法详解 #### 一、直接插入排序 **基本思想:** 直接插入排序的基本思路是在要排序的一组数中,假设前面 (n-1) [n>=2] 个数已经排好顺序,现在要把第 n 个数插入到前面的有序数列中,使得这 ...
JAVA实现扫描线算法的优点是可以避免使用指针,可以使用对象数组和Node类来构造类似数组+指针的数据结构,代码更加简洁易懂。同时,JAVA实现扫描线算法也可以更好地支持多边形的填充和绘制。 7. JAVA实现扫描线算法...
### 常用排序算法分析与实现(Java版) #### 插入排序 **1. 直接插入排序** 直接插入排序是一种简单的排序方法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并...
本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...
以下是关于"Java常用排序算法"的详细解释: 1. 插入排序(Insertion Sort) 插入排序是一种简单直观的排序算法,它的工作原理类似于我们日常生活中整理扑克牌的过程。算法分为两个阶段:遍历待排序的数组,将每个...
Java 实现归并排序是一种常用的排序算法,通过分治策略将原始数组分成小组,然后对每个小组进行排序,最后将排序好的小组合并成一个有序数组。下面是 Java 实现归并排序的知识点总结: 基本思想 归并排序的基本...
冒泡排序和快速排序是两种基础但广泛使用的数据排序算法。冒泡排序由于其简单直观的特性,易于理解和实现,而快速排序则以其较高的效率在数据量较大时展现出优势。 首先,让我们来看冒泡排序算法。冒泡排序通过重复...
Java基础常用的排序算法是编程学习中的重要组成部分,尤其对于初学者来说,掌握这些排序方法能够提升编程能力并有助于解决实际问题。在这个主题中,我们将深入探讨几种常见的排序算法,包括冒泡排序、插入排序、选择...
这里我们主要关注Java实现的排序算法,并结合一个PPT的动画演示来探讨其中的插入排序、直接插入排序和希尔排序。 首先,让我们深入理解插入排序。插入排序是一种简单的排序算法,其基本思想是将未排序的元素逐个...
常用排序算法的Java实现源码,包括冒泡排序,快速排序,直接插入排序,希尔排序,直接选择排序,堆排序,归并排序,基数排序,计数排序。
以上就是Java中实现的一些常用排序算法,它们各有优缺点,适用于不同的场景。理解并熟练掌握这些排序算法,有助于优化代码性能,提高编程能力。在实际开发中,应根据具体需求选择合适的排序算法,以达到最佳的效率和...
这里我们将深入探讨八大排序算法,并结合Java语言来理解它们的实现原理。 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的交换式排序算法。它通过重复遍历待排序的元素列表,比较相邻元素并根据需要交换它们,...