冒泡 一
public class bubbleSort {
public bubbleSort(){
int a[]={1,54,6,3,78,34,12,45};
int temp=0;
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
冒泡 二
public class bubbleSort {
public bubbleSort(){
int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
int temp=0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
快速 取中间值 一分二 两边递归
public class quickSort {
inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
public quickSort(){
quick(a);
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
publicint getMiddle(int[] list, int low, int high) {
int tmp = list[low]; //数组的第一个作为中轴
while (low < high) {
while (low < high && list[high] >= tmp) {
high--;
}
list[low] = list[high]; //比中轴小的记录移到低端
while (low < high && list[low] <= tmp) {
low++;
}
list[high] = list[low]; //比中轴大的记录移到高端
}
list[low] = tmp; //中轴记录到尾
return low; //返回中轴的位置
}
public void _quickSort(int[] list, int low, int high) {
if (low < high) {
int middle = getMiddle(list, low, high); //将list数组进行一分为二
_quickSort(list, low, middle - 1); //对低字表进行递归排序
_quickSort(list, middle + 1, high); //对高字表进行递归排序
}
}
publicvoid quick(int[] a2) {
if (a2.length > 0) { //查看数组是否为空
_quickSort(a2, 0, a2.length - 1);
}
}
}
分享到:
相关推荐
在本次实验中将数据量提到5万的时候,该类算法运行时间仍在几毫秒左右,而上面的3种算法运行时间已经到达十几秒左右,效率相差已经到达万倍。该类算法的运行时间随着数据的增加,运行时间渐近线性的增加。但注意理论...
js冒泡排序的几种写法,如果要面试,可以借鉴一下
3种方法,统计字符串中每种字符的个数并排序,多种解法哟~ str_split()函数很重要
一、教材内容 使用教材《数据结构》C语言版 严蔚敏,清华大学出版社。 章节 去掉 第5、8、11、12...掌握几种说法 数据元素是…,数据项是… 数据结构中关系的四种基本结构 数据结构的形式定义 算法的五个特征
一、教材内容 使用教材《数据结构》C语言版 严蔚敏,清华大学出版社。 章节 去掉 第5、8、11、12...掌握几种说法 数据元素是…,数据项是… 数据结构中关系的四种基本结构 数据结构的形式定义 算法的五个特征
掌握几种说法 数据元素是…,数据项是… 数据结构中关系的四种基本结构 数据结构的形式定义 算法的五个特征 3. 线性表 线性表的概念和四个特征 顺序表和单链表的类型定义 在顺序表中查找、插入、删除,灵活运用 ...
2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法 3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用 4、与...
《图灵程序设计丛书:算法(第4版)》编辑推荐:Sedgewick之巨著,与高德纳TAOCP一脉相承,几十年多次修订,经久不衰的畅销书,涵盖所有程序员必须掌握的50种算法。《图灵程序设计丛书:算法(第4版)》全面讲述算法和数据...
1. 知道如下几种数据类型:列表、元组、字典、字符串、 range、集合六大内置核心数据类型; 2. 理解列表类型的概念,掌握它的基础用法及操作:访问/更 新、获取元素个数、遍历、转换为列表型数据、添加和删 除、连接...
添加了归并排序,增加了归并排序的自底向上的循环写法,丰富了注释,增加了归并排序的两个优化 2017-09-22 更新快速排序与快速排序的优化 2017-09-25 更新了双路快速排序与三路快速排序 2017-09-26 使用快速排序中思路 ...
而不能用一个语句输出整个数组,下面的写法是错误的: printf("%d",a); void main() { int i,a[10]; for(i=0;i;i++) a[i++]=2*i+1; for(i=9;i>=0;i--) printf("%d",a[i]); printf("\n%d %d\n",a[5.2],a[5.8]); } ...
1. 知道如下几种数据类型:列表、元组、字典、字符串、 range、集合六大内置核心数据类型; 2. 理解列表类型的概念,掌握它的基础用法及操作:访问/更 新、获取元素个数、遍历、转换为列表型数据、添加和删 除、连接...
1.知道如下几种数据类型:列表、元组、字典、字符串、range、集合六大内置核心数据类型; 2.理解列表类型的概念,掌握它的基础用法及操作:访问/更 新、获取元素个数、遍历、转换为列表型数据、添加和删除、连接、...
多种写法 并发安全 双链表实现 双链表实现 双链表实现 树 贪心思想 动态规划 1 1 递归题 各种算法已代码实现 极客时间算法: Common Data Structure Operations 时间复杂度 学习笔记 仅供同学们参考
多种写法 并发安全 双链表实现 双链表实现 双链表实现 树 贪心思想 动态规划 1 1 递归题 各种算法已代码实现 极客时间算法: Common Data Structure Operations 时间复杂度 学习笔记 仅供同学们参考
(54) 在下列几种排序方法中,要求内存量最大的是(D) 注:要牢记,书中没有提到。 A. 插入排序 B. 选择排序 C. 快速排序 D. 归并排序 (55) 在设计程序时,应采纳的原则之一是(A) 注:和设计风格有关 A. 程序结构应有...
输入几个字屏幕就被换行,肯定玩玩。不过如果是画面形式,当然就无所谓了。 修改比较方式。修改数组的初始化的方式(建议改为ArrayList方式作为容器),并调用Lists的排序方法;最后提个建议:注意代码编写规范,...
(31) 算法一般都可以用哪几种控制结构组合而成______。(D) A. 循环、分支、递归 B. 顺序、循环、嵌套 C. 循环、递归、选择 D. 顺序、选择、循环 (32) 数据的存储结构是指______。(B) A. 数据所占的存储空间量 B. ...
最近几年,他专注于研究Oracle内部原理以及解决性能问题。他的博客主页是 kerryosborne.oracle-guy.com。 ROBYN SANDS 思科公司的软件工程师,为思科的客户设计开发嵌入式Oracle数据库产品。从1996年开始使用...