【C#冒泡法排序源码】教程文章相关的互联网学习教程文章

插入排序算法

#include <stdio.h>  #include <stdlib.h>  void output(int *a,int len);  void InsertSort(int *array, int len);  int main()  {    int a[6]={1,5,2,9,4,3};     InsertSort(a,6);     output(a,6);     printf("\n");     system("pause");     return 0;  }  void InsertSort(int *array, int len)  {   int i;   for(i=1;i<len;i++)     {       int cur=i; ...

冒泡排序【代码】【图】

数据结构数组最差时间复杂度O(n^2)最优时间复杂度O(n)平均时间复杂度O(n^2)最差空间复杂度总共O(n),需要辅助空间O(1) 思路和代码: //假如有几个数字 按照从小到大排序。有2种思路public static int[] arr = new int[] { 74, 88, 69, 67, 75 };public static int[] arr2 = new int[] { 74, 88, 69, 67, 75 };//第一种,arr[j] 和arr[j + 1] 比较 如果 前者比后者大,把前者和后者调换顺序,两两调换后一轮下来...

如何用C语言实现冒泡排序法?【代码】【图】

话不多说,代码如下: 1 #include<stdio.h>2 3int main()4{5int a[100], i, j, t, n;6 printf("请输入要排序的数的个数:");7 scanf_s("%d", &n); //输入一个数n,表示接下来有n个数 8for (i = 1; i <= n; i++)9 { 10//循环读入n个数到数组a中11 printf("请输入要排序的数:\n"); 12 scanf_s("%d", &a[i]); 13 } 14//冒泡排序的核心部分15for (i = 1; i <= n; i++) //n个数排序,只进行n-1趟1...

快速排序【代码】

1递归:调用自己的方法2 递归三原则:1.封装一个独立的方法3 2.递归一定要有出口(结束条件)4 3.符合一定的规律5 6 斐波拉契 1 1 2 3 5 8 13 21 ..........7// int n1=1,n2=1;8// int sum=0;9// for(int i=2;i<8;i++) { 10// sum=n1+n2; 11// n1=n2; 12// n2=sum; 13// } 14// System.out.println(sum); 15// System.out.println(new Fbl().fb(8));16递...

归并排序

归并排序将一个数组分成两半,对着两半分别排序,在将它们归并为一个有序数组,通常是以递归的形式表达的。假设两个数组各自有序,归并两个有序数组很简单,但需要添加一个临时数组,用来从头到尾处理这两个数组。将一个数组中的元素与另一个数组中的元素相比较,并将较小的元素复制到临时数组中去,其过程如下:第一个数组 第二个数组 临时数组1 3 6 0 2 4 1>0...

C++ 希尔排序【代码】

希尔排序是基于插入排序的一个优化。可以使平均时间复杂度减少为O(n * log2(n))。例题洛谷1177 排序题目描述 将读入的 N 个数从小到大排序后输出。输入格式 第 1 行为一个正整数 N。 第 2 行包含 N 个空格隔开的正整数 a[i],为你需要进行排序的数,数据保证了a[i]不超过10^9。 ? 输出格式 将给定的 N个数从小到大输出,数之间用空格隔开。输入输出样例 输入15 4 2 4 5 1输出11 2 4 4 5说明提示 对于20% 的数据,有 N <= 10^3。 对...

84冒泡排序文本数据

利用之前学过的所有知识.随机生成10个数字(1-1000),一行一个,并存到1.txt中.#include<stdio.h>#include<stdlib.h>#include<time.h>int F_gettimestamp() { time_t l_now; time(&l_now); return (int)l_now;}void F_randomize(int p_v1) { srand(p_v1);}int F_rand(int p_min, int p_max) { return rand() % (p_max - p_min + 1) + p_min;} void main() { int l_time = F_gettimestamp(); F_randomize(l_time); int l_length =...

PCB 挺有意思的基数排序----C#代码实现【代码】【图】

今天在头条看一个很有意思的排序算法【基数排序】,以前所学习的排序算法都是基于数值对比的方式排序的,而这个算法挺有意思的非常独特。但从网上看到的例子通常是对个位,十位处理,并转为对应的桶索引的方式实现,这里将此算法用C#实现,并以位运算的新方式实现。 一.代码实现staticvoid Main(string[] args){//待排序数组List<int> arrlist = new List<int>() { 72, 11, 82, 32, 44, 13, 17, 95, 54, 28, 79, 56 };int Number = 3...

冒泡排序【代码】

package studyjava;publicclass maopao {publicstaticvoid main(String[] args){int[] a={3,6,2,8,54,1,34};sort(a);for(int i=0;i<a.length;i++){System.out.println(a[i]);}}staticvoid sort(int[] a){int length=a.length;int temp;int i,j;for(j=length-1;j<length;j--){for(i=0;i<j;i++){if(a[i]>a[i+1]){temp=a[i+1];a[i+1]=a[i];a[i]=temp;}}}} } 原文:http://www.cnblogs.com/penghong2014/p/5461518.html

插入排序-直接插入排序、希尔排序【代码】

插入排序是一类借助‘插入‘进行排序的算法,主要思想:每次将一个待排序的记录按其关键码大小插入到一个已经排好序的有序序列中,直到全部记录排好序。一、直接插入排序直接插入排序是插入排序最简单的算法,类似于玩纸牌时整理手中纸牌的过程。基本思想:依次将待排序序列中的每一个记录插入到一个已经排好序的序列中,直到全部记录都排好。代码如下: 1/*插入排序*/ 2function sort(arr) {3var len=arr.length,temp=0,i,j;4 ...

HDU 3743 Frosh Week (归并排序)【代码】

Frosh WeekTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1919 Accepted Submission(s): 619 Problem Description During Frosh Week, students play various fun games to get to know each other and compete against other teams. In one such game, all the frosh on a team stand in a line, and are then asked to arrange themselves according to some c...

七大常见排序算法总结【代码】

文档版本开发工具测试平台工程名字日期作者备注V1.02016.04.06lutianfeinoneV1.12016.07.16lutianfei增加了归并排序说明V2.02016.07.19lutianfei完善了排序算法的总结排序另一种分法 外排序:需要在内外存之间多次交换数据才能进行内排序: 插入类排序 直接插入排序希尔排序选择类排序 简单选择排序堆排序交换类排序 冒泡排序快速排序归并类排序 归并排序排序方法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O...

常见排序算法(比较排序)及比较【代码】

#include<iostream> using namespace std; #include<assert.h> //稳定性:指两个相同数排序后位置是否变化 //冒泡排序思想:相邻两数据比较交换,外层循环控制次数,内层比较 //void BubbleSort(int *a, size_t len) //{ // assert(a); // for (size_t i = 0; i < len - 1; ++i) // { //相邻位置数据进行比较,每趟排序都会排出一个最大或最小数 // for (size_t j = 0; j < len - i - 1; ++j) // { // if (a[j] > a[j +...

Java常用三种算法排序比较【代码】

Java常用三种算法排序比较冒泡排序:package demo1; /**** @author xiaoye 2014-5-13*/ /*** 有N 个数据需要排序,则从第0 个数开始,依次比较第0 和第1 个数据,* 如果第0 个大于第1 个则两者交换,否则什么动作都不做,继续比较第 1 个第2个…,* 这样依次类推,直至所有数据都“冒泡”到数据顶上。冒泡排序的效率 O(N*N ),比较 N*N/2 ,交换N*N/4 。*/ public class BubbleSort {private static int[] num = { 1, 3, 6, 8, 2...

快速排序【代码】【图】

partition函数首先需要一个partition函数,partition就是分区的意思,即这个函数的作用是把输入的数组分成左右两部分,返回一个下标;左边的数都比下标对应的数小,右边的数都比下标对应的数大。对于一个算法理解过程最重要,注意细节能够让代码精致。过程理解这个函数有三个重要的点 Small指针指向的是最后一个比最后一个元素还要小的元素,small左边的元素都比end指向的元素小;index指向当前需要审查的元素small和index之间 (不...