选择排序&冒泡排序】的更多相关文章

1 选择排序  原理:a 将数组中的每个元素,与第一个元素比较          如果这个元素小于第一个元素, 就将这个         两个元素交换.       b 每轮使用a的规则, 可以选择出一个最小元素        放到第一个位置.       c 经过n-1轮比较完成排序   简单说: 每轮选择最小的放到前面.        2 冒泡排序  原理: a 逐一比较数组中相邻的两个元素, 如果后面         的数字小于前面的数字, 就交换先后元素.       b 经过一个轮次的…
#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]…
//选择排序 void test2(int a[],int len){ //每次找出一个最小值,最小值依次与原数组交换位置,通过下标来完成交换,最小值下标每次都在变,变量存储 //    假如第一个是最小值 int mine=0; int teamp=0; //    外层负责趟数 for (int i=0; i<len; i++) { //    假如每一次的第一个是最小值 mine=i; //    内层负责寻找每趟的最小值 //        每次起始比较值都不一样所以j=i+1,改变次数…
本节重点思维导图 数组 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…
''' 选择排序:选择最小的,以此类推 ''' import random import cProfile def select_Sort(nums): for i in range(len(nums)-1): for j in range(i+1,len(nums)): if nums[i] > nums[j]: # max = nums[i] # nums[i] = nums[j] # nums[j] = max #python有更好的写法 nums[i],nums[j] = nums[j]…
选择排序的思想是:每次从待排序中选择最小(大)的元素插入已经排好的序列中. /*直接选择排序*/ #include <iostream> using namespace std; void swapp(int &a,int &b) { int temp = a; a = b; b = temp; } int main() { int a[]={5,4,10,20,12,3,2,1,3,5,6,56,43,32}; int size = sizeof(a)/sizeof(int)…
//直接选择排序 #include<stdio.h> void SelectionSort(int arr[],int len) { int i,j; int k,min; int temp; ;i<len-;i++) { min=arr[i]; //每趟排序都把无序区第一个数设置为最小 k=i; ;j<len;j++) { if(arr[j]<min) { min=arr[j]; k=j; //记录下此次最小数索引 } } if(k!=i) //如果上面的if执行过 { /…
之前用 JavaScript 写过 快速排序 和 归并排序,本文聊聊四个基础排序算法.(本文默认排序结果都是从小到大) 冒泡排序 冒泡排序每次循环结束会将最大的元素 "冒泡" 到最后一位. 以 [1, 5, 2, 4, 3] 为例,O(n^2) 的复杂度,总共外层循环 5 次,第一次循环结束后的结果是 [1, 2, 4, 3, 5]. 首先是 1 和 5 比较,1 <=5,不交换位置,然后 5 和 2 比较,5 > 2,交换位置,数组变为 [1, 2, 5, 4, 3],然…
排序 1.定义: 所谓排序,即是整理文件中的内容,使其按照关键字递增或递减的顺序进行排列. 输入:n个记录,n1,n2--,其对应1的关键字为k1,k2-- 输出:n(i1),n(i2)--,使得k(i1)<=k(i2)-- (形象点讲就是排排坐,调座位,高在前低在后:或者低在前高在后) 2.排序算法的评价的专业术语 (1)稳定性 稳定:在排序的文件中,若存在多个关键字相同的记录,经过排序后,这些具有相同 关键字的记录之间的相对顺序不会发生改变. 不稳定:若具有相同关键字记录之间的相对次序发生改…
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建与查找,然后还聊了哈希表的构建与查找.接下来的几篇博客中我们就集中的聊一下常见的集中排序方式,并并给出相应的时间复杂度.本篇博客我们将会详细的介绍冒泡排序.插入排序.希尔排序以及选择排序,下篇博客将继续介绍堆排序.归并排序以及快速排序的相关内容.当然上述内容的代码实现我们依然采用S…