1.在平时的学习中,很经常听到各种排序算法,各自有其优缺点。尝试自己用C++实现各排序算法,作为对算法的基础学习。 常见的内部排序:插入排序冒泡排序选择排序快速排序堆排序归并排序基数排序希尔排序
分类:
编程语言 时间:
2015-08-01 11:15:30
阅读次数:
141
首先是算法实现文件Sort.h,代码如下:
/*
* 实现了八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序
* 以及快速排序、归并排序、堆排序和LST基数排序
* @author gkh178
*/
#include
template
void swap_value(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
//插入排序:时...
分类:
编程语言 时间:
2015-07-31 01:20:34
阅读次数:
116
首先是EightAlgorithms.java文件,代码如下:
import java.util.Arrays;
/*
* 实现了八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序
* 以及快速排序、归并排序、堆排序和LST基数排序
* @author gkh178
*/
public class EightAlgorithms {
//插入排序:时间复杂度o(n^2)...
分类:
编程语言 时间:
2015-07-30 21:29:55
阅读次数:
122
3.选择排序 原理:多次遍历序列,每次从序列中选出一个最大或者最小的记录放在序列的开始位置。例如:对int a[10]中的十个数排序,选择排序的做法是遍历序列发现比a[0]小的数就交换位置,一次遍历后就a[0]就是序列中最小的数了,然后从a[1]开始遍历......最后从a[8]开始遍历就可以得到....
分类:
编程语言 时间:
2015-07-30 21:12:44
阅读次数:
147
选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。选择排序的Java实现: 1 pac...
分类:
编程语言 时间:
2015-07-28 23:02:55
阅读次数:
152
1 public static void main(String[] args){ 2 int a[] = {34, 8, 64, 51, 32, 21}; 3 selectSort(a); 4 for (int i = 0; i a[j]) {1...
分类:
编程语言 时间:
2015-07-28 17:40:04
阅读次数:
129
——构造类型->数组 ->一维数组 ->相同类型的一组数据 ->类型修饰符--数组名—[数组的元素个数(必须是整型表达式或者是整型常量,不能是变量)]{初始化} int arr[3] = {1,2,3}; arr[1] = 5; printf("%d",arr[1]); -...
分类:
编程语言 时间:
2015-07-28 10:18:13
阅读次数:
265
package sort;import java.util.Scanner;public class SelectionSort { public static int arr[]; static{ System.out.println("Enter the array t...
分类:
编程语言 时间:
2015-07-28 00:20:46
阅读次数:
144
几个排序算法,我是按照算法的伪代码用java实现的,刚开始是int类型的,后来换成泛型。这是好早之前写的代码了,现在那出来温习下,就当是准备面试把1.简单选择排序这个算法应该是最简单的把,就是在数组中从头开始循环,选择最小的放在最前面,这个应该很好实现就不废话了 public static >...
分类:
编程语言 时间:
2015-07-27 20:39:57
阅读次数:
148
http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html 堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:...
分类:
编程语言 时间:
2015-07-27 12:59:07
阅读次数:
130