“活到老,学到老”,人生正是一个不断学习,不断完善的过程,前面的 C#学习日记 我们先告一段落(不是结束^_^),现在开始新的旅程,学一学算法吧!
回想我门学C的时候,在老师的带领下我门接触到了算是我人生中的第一个算法——冒泡排序(BubbleSort)。
顾名思义,冒泡排序它排序数组元素的过程总是将小数往前放、大树往后放,类似水中气泡往上升的动作。
基本思想:
冒泡排序的基本思想是对比相邻的元素值,按照较小元素在前面,较大元素在后面的规则交换两元素的值,经过层层对比与交换,最终形成一个递增的数列。
还是说个例子吧:要求对 63,4,24,1,3,15 这个数列进行从小到大排序,我们分别用C++、C#、java来实现(以后都会如此的)
C++实例:
#include<iostream>
#include<cstdlib>
using namespace std;
//声明输出函数
void ShowArray(int *a,int L);
//定义冒泡函数
void BubbleSort(int *array,int Length)
{
for(int i=1;i<Length;i++) //这个for控制循环趟数
{
for(int j=0;j<Length-i;j++) //这个for循环控制相邻两辆比较、交换
{
if(array[j]>array[j+1])
{ //交换
int temp;
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
ShowArray(array,Length);
}
//输出函数
void ShowArray(int *array,int Length)
{
for(int i=0;i<Length;i++)
{
cout<<array[i]<<" ";
}
cout<<endl;
}
void main()
{ //定义一个数组
int array[]={63,4,24,1,3,15};
//算出数组长度
int Length = sizeof(array)/sizeof(array[0]);
//冒泡排序输出
BubbleSort(array,Length);
}
C#实例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BubbleSort
{
class Sort
{//定义冒泡方法
public void BubbleSort(int[] array)
{
for (int i = 1; i < array.Length; i++) //控制循环趟数
{
for (int j = 0; j < array.Length - i; j++) //相邻两数满足条件就交换
{
if(array[j]>array[j+1])
{//交换
int temp;
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
ShowArray(array);
}
//输出方法
public void ShowArray(int[] array)
{
foreach (int i in array)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
static void Main(string[] args)
{
int[] array = new int[]{63,4,24,1,3,15};
Sort sorter = new Sort();
sorter.BubbleSort(array);
}
}
}
以上两个实例的结果:
java实例:
package Sort;
public class BubbleSort {
public void sort(int[] array){
for(int i=1;i<array.length;i++){
for(int j=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
public void showArray(int[] array){
for(int i:array){
System.out.print(i+" ");
}
System.out.println();
}
public static void main(String[] args) {
int array[] = {63,4,24,1,3,15};
BubbleSort sorter = new BubbleSort();
sorter.sort(array);
}
}
结果 :
冒泡排序就是如此了,后面还会相继介绍几个常用的排序,有什么错误的地方欢迎您指出来^_^