1 选择排序  原理:a 将数组中的每个元素,与第一个元素比较          如果这个元素小于第一个元素, 就将这个         两个元素交换.       b 每轮使用a的规则, 可以选择出一个最小元素        放到第一个位置.       c 经过n-1轮比较完成排序   简单说: 每轮选择最小的放到前面.        2 冒泡排序  原理: a 逐一比较数组中相邻的两个元素, 如果后面         的数字小于前面的数字, 就交换先后元素.       b 经过一个轮次的…
一直到大四才开始写自己的第一篇博客,说来实在有点羞愧.今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用JAVA实现的代码: public class test5 { public static void print(int []array) //输出数组方法 { for(int i=0;i<array.length;i++) System.out.print(" "+array[i]); } public static void selectsort(int…
本节重点思维导图 数组 public static void main(String[] args) { int a ; a=3; int[] b; b = new int[3];//强制开辟内存空间 int c[] = new int [8]; int[] d = {3,4,5,67}; int[] e = new int[] {3,4,5}; System.out.println(d[2]); } 例题:产生1到100之间所有奇数组成的数组并输出.要求每10个一行输出 public clas…
#include<iostream> #include<cstdio> #include<bits/stdc++.h> using namespace std; void selectsort(int a[],int n){//选择排序(不知道为什麽好像是错的反正我也不用233333) ;i<=n-;i++){ int k=i; ;j<=n;j++){ if(a[j]<a[k]) k=j; if(k!=i){ int t=a[i]; a[i]=a[k]…
前言:排序在算法中的地位自然不必多说,在许多工作中都用到了排序,就像学生成绩统计名次.商城商品销量排名.新闻的搜索热度排名等等.也正因为排序的应用范围如此之广,引起了许多人深入研究它的兴趣,直至今天,排序算法已经出现了很多种.本篇博文主要介绍常见的八种排序算法,总得来说,不同的排序算法在不同的场景下都有着自己独特的优点,例如一下简单的冒泡排序.选择排序.插入排序不仅思路简单,有利于我们理解,而且在小规模的数据量的处理中并不逊色.接下来我们就一一分析一下各算法的优缺点以及时间复杂度. 本篇博文的所…
一.概述: 上篇博客介绍了常见简单算法:冒泡排序.选择排序和插入排序.本文介绍高级排序算法:快速排序和归并排序.在开始介绍算法之前,首先介绍高级算法所需要的基础知识:划分.递归,并顺带介绍二分查找算法. 二.划分: 划分是快速排序的前提,即把数据分为两组,大于特定值的数据在一组,小于特定值的数据在另一组.快速排序即是由划分和递归操作来完成的. (1)原理: 定义一个阈值,分别从最左面和最右面向中间遍历元素,左面找到一个大于阈值的数据便停止,右边找到一个小于阈值的数据便停止,如果此时左右两边都还没…
排序 1.定义: 所谓排序,即是整理文件中的内容,使其按照关键字递增或递减的顺序进行排列. 输入:n个记录,n1,n2--,其对应1的关键字为k1,k2-- 输出:n(i1),n(i2)--,使得k(i1)<=k(i2)-- (形象点讲就是排排坐,调座位,高在前低在后:或者低在前高在后) 2.排序算法的评价的专业术语 (1)稳定性 稳定:在排序的文件中,若存在多个关键字相同的记录,经过排序后,这些具有相同 关键字的记录之间的相对顺序不会发生改变. 不稳定:若具有相同关键字记录之间的相对次序发生改…
冒泡排序.选择排序与插入排序复杂度都是二次方级别的,放在一起说吧. 介绍一些学习这三个排序方法的比较好的资料.冒泡排序看<学习JavaScript数据结构与算法>介绍的冒泡排序,选择排序看<计算机科学概论(第三版)>里介绍的选择排序,插入排序看<计算机科学概论(第11版)>里介绍的插入排序, 通过这三份资料弄明白实现原理之后,最后看<学习JavaScript数据结构与算法>一书里的JS实现代码. 嗯,<学习JavaScript数据结构与算法>这本…
  public class Test { public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5 }; 选择排序(a); // 插入排序(a); System.out.print("排序后:"); for (int n : a) { System.out.print(n + " "); } } static void 选择排序(int[] a) { for (int i = 0; i &…
整数排序 给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法. 样例 样例 1: 输入: [3, 2, 1, 4, 5] 输出: [1, 2, 3, 4, 5] 样例解释: 返回排序后的数组. 样例 2: 输入: [1, 1, 2, 1, 1] 输出: [1, 1, 1, 1, 2] 样例解释: 返回排好序的数组.   import java.util.Arrays; public class Solution { public static void m…