package com.canofy.structure;
import org.apache.log4j.Logger;
public class Sort {
static Logger logger=Logger.getLogger(Sort.class);
//插入排序法
private static void insertSort(int[] arraySort) {
int in, out;
for (out = 1; out < arraySort.length; out++) {
int tmp = arraySort[out];
for(in=out;in>0;in--){
if(tmp<arraySort[in-1]){
arraySort[in]=arraySort[in-1];
}else{
break;
}
}
// in = out;
// while (in > 0 && tmp <= arraySort[in - 1]) {
// arraySort[in] = arraySort[in - 1];
// in--;
// }
arraySort[in] = tmp;
}
}
//选择排序法
private static void selectSort(int[] arraySort) {
int in, out;
for (out = 0; out < arraySort.length-1; out++) {
int min = out;
for (in = out+1; in < arraySort.length; in++) {
if (arraySort[in] < arraySort[min]) { //选择最小的数
min = in;
}
}
swap(out, min, arraySort);
}
}
//冒泡排序法
private static void bubbleSortBigger(int[] arraySort) {
int in, out;
for (out = arraySort.length - 1; out > 0; out--) {
for (in = 0; in < out; in++) {
if (arraySort[in] > arraySort[in + 1]) {
//logger.info("arraySort"+in+":"+arraySort[in]);
swap(in, in + 1, arraySort);
}
}
}
}
private static void swap(int a, int b, int[] arraySort) {
int tmp = arraySort[a];
arraySort[a] = arraySort[b];
arraySort[b] = tmp;
}
public static void main(String[] args) {
Logger logger=Logger.getLogger(Sort.class);
Sort sort=new Sort();
int[] arrayBub = { 43, 36, 11, 10, 29, 58, 15, 9 };
insertSort(arrayBub);
for(int i=0;i<arrayBub.length;i++){
logger.info("arrayBub"+i+":"+arrayBub[i]);
}
}
}
分享到:
相关推荐
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
插入排序 冒泡排序 堆排序 基数排序 选择排序 快速排序的源码 java实现
直接插入排序 冒泡排序 快速排序 直接选择排序 堆排序 二路归并排序 C#源代码 使用C#实现的数据结构中的排序算法
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
22、冒泡排序 21、折半插入排序 22、冒泡排序 23、快速排序 21、折半插入排序 22、冒泡排序 23、快速排序 24、简单选择排序 21、折半插入排序 22、冒泡排序 23、快速排序 24、简单选择排序 25、归并排序 26、堆...
插入排序,选择排序,基数排序,冒泡排序的C++实现
C# 插入排序 冒泡排序 选择排序 快速排序 堆排序 归并排序 基数排序 希尔排序
交换排序 选择排序 冒泡排序 插入排序
采用c++描述了各种排序算法,包括选择排序 冒泡排序 插入排序 基数排序 快速排序 归并排序 。实验内容 1、创建排序类。 2、提供操作:选择排序、冒泡排序、插入排序、*基数排序、*快速排序、*归并排序。 3、*能够...
java选择、插入、冒泡排序 java选择、插入、冒泡排序java选择、插入、冒泡排序java选择、插入、冒泡排序
合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序的C语言实现,原创。
用C++语言实现的几个常见算法,里面有注解,方便大家理解,简单易学,都可以正常编译运行。
这个是整理好了的,各种排序方式,喜欢的同学可以看下,对于初学的人很有帮助
C# 常用经典算法,选择排序 冒泡排序 快速排序 插入排序 希尔排序
数据结构---直接插入排序/快速排序/选择排序/冒泡排序(详细实现算法和性能比较)
选择排序,冒泡排序,插入排序 基数排序,快速排序,归并排序
插入排序 冒泡排序 快速排序 选择排序演示软件
有一个模板类写出了快速排序,冒泡排序,插入排序,选择排序四种算法。用的是C++哦