- 浏览: 3560964 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
package endual.huafen.quickly.writeagain; /** * 快速排序1: * * 其思想也是递归排序的,首先我们要有划分,随便选取一个key值,小的数放在这个key的左边,大的数就放在key的右边 * 然后递归就OK了。放在key值的左边和右边的数并没被排序好的,所以还是要进行排序的 * * * @author Endual * */ public class QuickSort1 { private long[] theArray ; //创建了一个数组,这个数组是用来存放要进行的排序的数据的 private int nElems ; //记录有多少个数据要进行排序的 public QuickSort1(int max) { this.theArray = new long[max] ; //存入数据的最大的个数吧 this.nElems = 0 ; //初始化记录的个数 } //插入数据的,一次插入一次 public void insert(long value) { this.theArray[this.nElems] = value ; this.nElems++ ; //插入一次记录就增加一次 } //返回当前数组中有多少个数据要进行排序 public int size() { return this.nElems ; } //显示当前数据的排序 public void display() { int size = this.size() ; for (int i=0; i < size; i++) { System.out.println(this.theArray[i]); } } //快速排序的调用方法 public void qucikSrot() { recQucikSort(0, this.nElems-1) ;//输入的是数组的最前面一个0 和 最后面一个nElems-1 } private void recQucikSort(int left, int right) { if (right - left <= 0) { //递归终止的条件,当开始的标号小于或者等于右边的标号的时候就停止 return ; } else { long pivot = this.theArray[right] ; //默认最右边的数据项作为那个key值 //返回的是pivot的位子, //当然已经进行了划分排序 //这个是快速排序的核心所在 int partition = partitionIt(left,right,pivot) ; recQucikSort(left, partition-1) ; //递归left到这个key值的这么一段的 recQucikSort(partition+1, right) ; //递归这个key值+1,这个位子到右边的数据 } } //快速排序的划分核心 private int partitionIt(int left, int right, long pivot) { int leftPtr = left - 1 ; //左边和右边的两个指针 int rightPtr = right ; while (true) { while (this.theArray[++leftPtr] < pivot) ; //找到大的item,那么就找了左边的位子上,其中一个值是要大于key值的 while (rightPtr > 0 && this.theArray[--rightPtr] > pivot) ; //找到小的item,那么就找了右边的其中一个值是大于key值的 交换位子哦 if (leftPtr >= right) { //终止的条件就是当左边的指针小于右边的指针或者等于右边的时候 break ; }else { swap(leftPtr, rightPtr) ; } } this.swap(leftPtr, right) ; //把关键词要交换下位子的 return leftPtr; } private void swap(int leftPtr, int rightPtr) { long temp = this.theArray[leftPtr] ; this.theArray[leftPtr] = this.theArray[rightPtr] ; this.theArray[rightPtr] = temp ; } }
今天很不顺利啊 为什么就不能弄出来呢 ?
main:
package endual.huafen.quickly.writeagain; public class QuickSort1App { public static void main(String[] args) { QuickSort1 app = new QuickSort1(19) ; app.insert(4) ; app.insert(56) ; app.insert(21) ; app.insert(5) ; app.insert(43) ; app.insert(9) ; app.insert(45) ; app.display() ; System.out.println("--------------"); app.qucikSrot() ; app.display() ; } }
排序结果
4 56 21 5 43 9 45 -------------- 56 9 4 21 5 43 45
发表评论
-
snmp
2020-04-13 11:07 431https://www.iteye.com/blog/zhan ... -
snmp
2020-04-10 21:33 568https://blog.csdn.net/qq_333141 ... -
服务器监控软件
2019-12-31 11:07 516[ERROR] org.hyperic.sigar.Sigar ... -
多数据源
2019-12-23 22:09 458https://gitee.com/baomidou/dyna ... -
mybatis多数据源
2019-12-23 18:09 452https://blog.csdn.net/qq_288042 ... -
springboot ueditor
2019-12-17 18:26 384https://blog.csdn.net/u01216982 ... -
java支持多数据源
2019-12-13 15:59 461spxcms是否支持多数据源 ... -
java日志
2019-12-10 12:01 302https://blog.csdn.net/peng_wei_ ... -
spring 多数据源
2019-12-06 09:55 436https://www.jb51.net/article/10 ... -
idea
2019-12-04 17:13 415https://blog.csdn.net/dengachao ... -
手机大屏
2019-11-30 16:02 353http://demo.demohuo.top/modals/ ... -
quarz配置
2019-11-08 11:48 467https://blog.csdn.net/BryantLmm ... -
mysql同步
2019-11-06 12:20 355https://blog.csdn.net/baidu_418 ... -
nginx配置多个服务
2019-11-04 20:35 777https://blog.csdn.net/everljs/a ... -
h5 加壳
2019-11-04 16:05 632https://jingyan.baidu.com/artic ... -
jeui 前端框架
2019-10-22 14:30 1211http://www.jemui.com/demo/ http ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ htt ... -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/ -
jeui 维护
2019-10-22 14:29 2http://www.jemui.com/demo/
相关推荐
c语言版本的数据结构的快速排序算法,适用于新手学习
在IT领域,数据结构与算法是基础且至关重要的部分,特别是排序算法,它们在软件开发中扮演着核心角色。本文将深入探讨“数据结构与算法之排序”,重点关注内部排序和外部排序。 首先,我们理解一下数据结构。数据...
(1) 冒泡排序和快速排序; (2) 插入排序和希尔排序; (3) 选择排序和堆排序; (4) 递归和非递归的归并排序。 2. 产生不同规模和分布的数据,以 Excel 生成算法执行时间 T(n)关于输入规模 n 的曲线的形式,...
数据结构与算法是计算机科学的基础,它涉及到如何有效地组织和管理数据,以便进行高效地查找、存储和处理。本资源包含的数据结构与算法课后习题答案,是学习这一领域的重要辅助材料,可以帮助学生深入理解和巩固所学...
排序算法则是数据结构中的重要部分,它们用于对一组数据进行有序排列。在这个实验中,我们将关注六种不同的排序算法:选择排序、冒泡排序、插入排序、基数排序以及快速排序和归并排序。下面是对这些排序算法的详细...
数据结构实验4快速排序 在本实验中,我们将学习快速排序算法的实现,以学生的考试成绩单为例,对其进行排序并输出每个学生的名次、学号、姓名和成绩。 一、快速排序算法原理 快速排序是一种基于比较的排序算法,...
数据结构与算法是计算机科学的基础,对于理解和设计高效的软件至关重要。C语言因其高效、底层特性,常被用于实现数据结构和算法,使得程序更接近硬件,性能更优。本资源"数据结构与算法分析--C语言描述"是针对数据...
数据结构排序算法中的快速排序,是非常重要的一个算法,从时间上来看,是在随机情况下排大量数据的最优选择
JS 数据结构与算法.pdf 本书主要介绍了 JavaScript 语言的基础知识,包括数据结构和算法。以下是该书的详细知识点: 一、JavaScript 基础知识 * 变量和数据类型 * 运算符和控制结构 * 函数和对象 * 数组和字符串 ...
严蔚敏版的《数据结构》是一本经典的数据结构教材,书中详细介绍了各种数据结构及其操作,包括快速排序在内的各种排序算法。第八章可能涵盖了快速排序的基本概念、算法实现、时间复杂度分析以及优化策略等内容。 ...
《数据结构与算法分析—C语言描述》是一本深度探讨数据结构和算法的书籍,它以C语言作为实现工具,为读者提供了丰富的编程实践指导。这本书涵盖了数据结构的基础理论、设计方法以及C语言的实现技巧,是计算机科学...
5. **课程内容**:可能包括基础数据结构的实现、算法设计与分析、复杂度理论、高级数据结构(如堆、B树等)、图算法、排序与查找算法的C#实现、动态规划和贪心策略等。 6. **学习资源**:“C#数据结构与算法_武汉...
数据结构与算法是计算机科学的核心内容,它们在解决实际问题、提高程序效率以及编写高质量软件中扮演着至关重要的角色。数据结构是计算机存储、组织数据的方式,它可以帮助我们在计算机中以更加高效和合适的方式表示...
根据提供的文件信息,这里主要关注的是“C++数据结构与算法(第4版)”这一主题,虽然实际内容并未给出具体章节或知识点,但我们可以基于标题、描述以及部分已知内容来推测书中可能涵盖的关键知识点。 ### C++数据...
数据结构与算法是计算机科学的基础,对于任何编程语言来说,理解和掌握它们都是至关重要的,特别是对于Java这样的高级语言。在Java中实现数据结构和算法,能够帮助开发者更高效地解决问题,提升程序性能。 数据结构...
在编程领域,数据结构与算法是核心组成部分,它们直接影响到程序的效率和性能。Java作为广泛应用的编程语言,其在实现数据结构和算法时有着丰富的库支持和优秀的可读性。下面将对标题和描述中提到的一些关键知识点...
数据结构与算法分析是计算机科学中的核心课程,它关乎如何高效地存储和处理数据,以及设计和实现高效的计算过程。C++作为一种强大的编程语言,常用于实现这些数据结构和算法,因为它提供了丰富的库支持和面向对象的...
数据结构与算法是计算机科学的基础,对于理解和设计高效的软件至关重要。在"恋上数据结构与算法第二季"的课程中,我们深入探讨了这个领域的核心概念。本课程旨在通过丰富的实例和详细的解释,帮助学习者掌握这些关键...