(1)冒泡排序
package ChapterOne;
public class Bubble {
public static void main(String[] args) {
Bubble b = new Bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
b.bubble();
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.exit(0);
}
/**
* 冒泡排序
*/
public void bubble(){
for(int i = arr.length-1;i > 1;i--){
for(int j = 0;j < i;j++){
if(arr[j] > arr[j+1])
swap(j,j+1);
}
}
}
/**
* 交换数组中的两个数
* @param one
* @param two
*/
public void swap(int one,int two){
long temp = arr[one];
arr[one] = arr[two];
arr[two] = temp;
}
static long arr[] = new long[20];
/**
* 随机初始化一个长度为20的数组
*/
static{
for(int i = 0;i < arr.length;i++){
arr[i] = (long) (Math.random()*100);
}
}
}
(2)选择排序
package ChapterOne;
public class SelectSort {
/**
* 初始化一个长度为size的数组
* @param size
*/
public SelectSort(int size){
arr = new long[size];
for(int i = 0;i < size;i++){
arr[i] = (long) (Math.random()*100);
}
}
/**
* 选择排序
* @return
*/
public long[] sort(){
for(int i = 0;i < arr.length;i++){
int minIndex = findMin(i);
long min = arr[minIndex];
//子数组中的所有的数后移一个位置
for(int j = minIndex;j > 0;j--)
arr[j] = arr[j-1];
//把最小的数插入到最前端
arr[0] = min;
}
return arr;
}
/**
* 查找一start为起始位置到数组最后位置这段子数组中最小的一个数的位置
* @param start
* @return
*/
public int findMin(int start){
int min = start;
for(int i = min;i < arr.length;i++)
if(arr[min] > arr[i])
min = i;
return min;
}
public static void main(String[] args) {
SelectSort ss = new SelectSort(10);
ss.print();
long oa[] = ss.sort();
for(int i = 0;i < oa.length;i++)
System.out.print(oa[i]+" ");
System.out.println();
System.exit(0);
}
public void print(){
for(int i = 0;i < arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
}
long arr[];
}
分享到:
相关推荐
详细解释了关于排序的认识,对九种排序进行比较等,附代码
基础排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序
c语言版本的数据结构的快速排序算法,适用于新手学习
数据结构排序算法
内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,书中还提供了。NET框架类库中的C#语言实现的数据结构和算法。《数据结构...
数据结构与算法内部排序分析PPT学习教案.pptx
1、创建排序类。 2、提供操作:选择排序、冒泡排序、插入排序、基数排序、快速排序、归并排序。(快速排序、归并排序讲到之后再做) 3、*能够显示各种排序算法的中间过程。
吉林大学数据结构与算法课程07 第七章 排序(共151页).ppt 吉林大学数据结构与算法课程08 第八章 查找(共91页).ppt 吉林大学数据结构与算法课程09 第九章 内存管理(共50页).ppt 吉林大学数据结构与算法课程10 ...
【完整课程列表】 数据结构与算法 数据结构与C语言 data structure课程 第0章 C++复习(共49页).ppt 数据结构与算法 数据结构与C语言...数据结构与算法 数据结构与C语言 data structure课程 第8章 排序(共223页).ppt
介绍了计算机编程中使用的数据结构和算法,对于在计算机应用中如何操作和管理数据以取得最优性能提供了深入浅出的讲解。全书共分为15章,分别讲述了基本概念、数组、简单排序、堆和队列、链表、递归、进阶排序、...
本书从讲解什么是数据结构开始,延伸至高级数据结构和算法分析,强调数据结构和问题求解技术。本书的目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有...
内容涵盖了数据结构和算法的基本原理,涉及数组、广义表、链表、散列表、树、图、排序搜索算法以及更多概率算法和动态规则等高级算法。此外,书中还提供了.NET框架类库中的C#语言实现的数据结构和算法。, 《数据结构...
这本书是用java讲数据结构和排序算法的,全书只有44页,但是讲的内容很不错,推荐学习或者复习数据结构的童鞋下在看看!
数据结构与算法(C#).PDF及代码 第1章 Collections类、泛型类和Timing类概述 第2章 数组和ArrayList 第3章 基础排序算法 第4章 基础查找算法 第5章 栈和队列 第6章 BitArray类 第7章 字符串、String类和StringBuioder...
【课程简介】 本课程适合所有需要弥补数据结构或对数据结构感兴趣的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 【完整课程列表】 ...数据结构与算法 数据结构与C语言 第8章 排序(共223页).ppt
数据结构排序算法小结 数据结构排序算法小结
数据结构与算法之冒泡排序pta:基于C语言的编程实践与测试 数据结构与算法之冒泡排序pta:基于C语言的编程实践与测试 数据结构与算法 本资源是一本数据结构与算法之冒泡排序pta的编程实践与测试教程,旨在通过C语言...