(积累系列—算法)冒泡算法
2008-02-21 12:51
155 查看
冒泡算法,都忘了怎么写了,只写出来一个最差最差的两层循环 。。。今天在网上查了查资料,写成了程序
[align=left]using System;[/align]
[align=left]using System.Collections.Generic;[/align]
[align=left]using System.Text;[/align]
[align=left] [/align]
[align=left]namespace Algorithm_Demonstrate[/align]
[align=left]{[/align]
[align=left] class Program[/align]
[align=left] {[/align]
[align=left] static void Main(string[] args)[/align]
[align=left] {[/align]
[align=left] int[] a = new int[] {9,8,7,6,5,4,3,2,1,0 };[/align]
[align=left] for (int i = 0; i < a.Length; i++)[/align]
[align=left] {[/align]
[align=left] Console.WriteLine(a[i]);[/align]
[align=left] }[/align]
[align=left] Bubblesort objbullsort = new Bubblesort();[/align]
[align=left] int sorttime=objbullsort.BubblesortMethod(a);[/align]
[align=left] for( int i=0;i<a.Length;i++)[/align]
[align=left] {[/align]
[align=left] Console.WriteLine(a[i]);[/align]
[align=left] }[/align]
[align=left] Console.WriteLine("sort time is :" + sorttime);[/align]
[align=left] Console.ReadLine();[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] class Bubblesort[/align]
[align=left] {[/align]
[align=left] public int BubblesortMethod(int[] ary)[/align]
[align=left] {//ary is the arry to storage the DATA needed to sort [/align]
[align=left] bool ischange;[/align]
[align=left] int time = 0;[/align]
[align=left] for (int i = 0; i < ary.Length; i++)[/align]
[align=left] {[/align]
[align=left] ischange = false;[/align]
[align=left] for (int j = ary.Length - 1; j > i; j--)[/align]
[align=left] {[/align]
[align=left] if (ary[j] <= ary[j - 1])[/align]
[align=left] Swap(ref ary[j], ref ary[j - 1]);[/align]
[align=left] time++;[/align]
[align=left] ischange = true;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] if (!ischange)[/align]
[align=left] return time;[/align]
[align=left] }[/align]
[align=left] return time;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] void Swap(ref int a, ref int b)[/align]
[align=left] {[/align]
[align=left] a = a ^ b;[/align]
[align=left] b = b ^ a;[/align]
[align=left] a = a ^ b;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left]using System;[/align]
[align=left]using System.Collections.Generic;[/align]
[align=left]using System.Text;[/align]
[align=left] [/align]
[align=left]namespace Algorithm_Demonstrate[/align]
[align=left]{[/align]
[align=left] class Program[/align]
[align=left] {[/align]
[align=left] static void Main(string[] args)[/align]
[align=left] {[/align]
[align=left] int[] a = new int[] {9,8,7,6,5,4,3,2,1,0 };[/align]
[align=left] for (int i = 0; i < a.Length; i++)[/align]
[align=left] {[/align]
[align=left] Console.WriteLine(a[i]);[/align]
[align=left] }[/align]
[align=left] Bubblesort objbullsort = new Bubblesort();[/align]
[align=left] int sorttime=objbullsort.BubblesortMethod(a);[/align]
[align=left] for( int i=0;i<a.Length;i++)[/align]
[align=left] {[/align]
[align=left] Console.WriteLine(a[i]);[/align]
[align=left] }[/align]
[align=left] Console.WriteLine("sort time is :" + sorttime);[/align]
[align=left] Console.ReadLine();[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] class Bubblesort[/align]
[align=left] {[/align]
[align=left] public int BubblesortMethod(int[] ary)[/align]
[align=left] {//ary is the arry to storage the DATA needed to sort [/align]
[align=left] bool ischange;[/align]
[align=left] int time = 0;[/align]
[align=left] for (int i = 0; i < ary.Length; i++)[/align]
[align=left] {[/align]
[align=left] ischange = false;[/align]
[align=left] for (int j = ary.Length - 1; j > i; j--)[/align]
[align=left] {[/align]
[align=left] if (ary[j] <= ary[j - 1])[/align]
[align=left] Swap(ref ary[j], ref ary[j - 1]);[/align]
[align=left] time++;[/align]
[align=left] ischange = true;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] if (!ischange)[/align]
[align=left] return time;[/align]
[align=left] }[/align]
[align=left] return time;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] void Swap(ref int a, ref int b)[/align]
[align=left] {[/align]
[align=left] a = a ^ b;[/align]
[align=left] b = b ^ a;[/align]
[align=left] a = a ^ b;[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
相关文章推荐
- 算法系列之--Javascript和Kotlin的冒泡算法(原)
- 算法系列——Search Insert Position
- 算法系列6《MAC》
- 学VC 编游戏 重点算法解疑系列文档 - 走四方
- 机器学习算法原理总结系列---算法基础之(3)随机森林(Random Forest)
- 白话经典算法系列之六 快速排序 快速搞定
- 颜色空间系列4: RGB和YDbDr颜色空间的转换及优化算法
- 【转载】白话经典算法系列之三 希尔排序的实现
- (转)白话经典算法系列之六 快速排序 快速搞定
- [置顶] 结构之法,算法之道:程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
- 经典算法研究系列:四、教你通透彻底理解:BFS和DFS优先搜索算法
- 每天学习一算法系列(26)(输入一个整数,求该整数的二进制表达中有多少个1)
- 转载和积累系列 - hashmap 详细实现
- 凸优化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子算法系列之十一:Numerical Examples
- 转载和积累系列 - js实现 hashMap
- 每天学习一算法系列(27)(输入两个整数序列。其中一个序列表示栈的push 顺序,判断另一个序列有没有可能是对应的pop 顺序)
- 图像算法之二:特征提取算法系列之Harris
- (codes)二叉树的系列算法,递归与非递归
- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦