改章节笔者在深圳喝咖啡的时候突然想到的...这段时间就有想写几篇关于插入排序冒泡排序的文章,所以回家到之后就奋笔疾书的写出来发表了
每日一道理
聪明人学习,像搏击长空的雄鹰,仰视一望无际的大地;愚笨的人学习,漫无目的,犹如乱飞乱撞的无头飞蛾;刻苦的人学习,像弯弯的河流,虽有曲折,但终会流入大海;懒惰的人学习,像水中的木头,阻力越大倒退得越快。
聪明人学习,像搏击长空的雄鹰,仰视一望无际的大地;愚笨的人学习,漫无目的,犹如乱飞乱撞的无头飞蛾;刻苦的人学习,像弯弯的河流,虽有曲折,但终会流入大海;懒惰的人学习,像水中的木头,阻力越大倒退得越快。
using System;
using System.Diagnostics;
namespace TestCArray
{
class Program
{
static void Main(string[] args)
{
CArray numbs = new CArray(10);
Random rnd = new Random(10);
for (int i = 0; i <= 9; i++)
{
numbs.Insert(rnd.Next(0,10));
}
Console.WriteLine("Before sorting:");
numbs.DisplayElements();
Console.WriteLine("During sorting:");
//numbs.BubbleSort();
//numbs.SelectionSort();
numbs.InsertionSort();
Console.WriteLine("After sorting:");
numbs.DisplayElements();
}
}
public class CArray
{
private int[] arr;
private int upper;
private int numElements;
public CArray(int size)
{
arr = new int[size];
upper = size - 1;
numElements = 0;
}
public void Insert(int item)
{
arr[numElements] = item;
numElements++;
}
public void DisplayElements()
{
Console.Write("---->");
for (int i = 0; i <= upper; i++)
{
Console.Write(arr[i] + " ");
}
Console.WriteLine();
}
public void Clear()
{
for (int i = 0; i <= upper; i++)
{
arr[i] = 0;
}
numElements = 0;
}
// 冒泡排序
public void BubbleSort()
{
int temp;
for (int outer = 0; outer <= upper; outer++)
{
for (int inner = 0; inner < upper-outer; inner++)
{
if (arr[inner+1]<arr[inner])
{
temp = arr[inner + 1];
arr[inner + 1] = arr[inner];
arr[inner] = temp;
}
}
this.DisplayElements();
}
}
// 选择排序
public void SelectionSort()
{
int temp;
for (int outer = 0; outer < upper; outer++)
{
for (int inner = outer+1; inner <= upper; inner++)
{
if (arr[outer] > arr[inner])
{
temp = arr[outer];
arr[outer] = arr[inner];
arr[inner] = temp;
}
}
this.DisplayElements();
}
}
// 插入排序
public void InsertionSort()
{
int inner, temp;
for (int outer = 1; outer <= upper; outer++)
{
temp = arr[outer];
inner = outer;
while (inner > 0 && arr[inner-1] >= temp)
{
arr[inner] = arr[inner - 1];
inner -= 1;
}
arr[inner] = temp;
this.DisplayElements();
}
}
}
}
文章结束给大家分享下程序员的一些笑话语录: 问答
Q:你是怎么区分一个内向的程序员和一个外向的程序员的? A:外向的程序员会看着你的鞋和你说话时。
Q:为什么程序员不能区分万圣节和圣诞节? A:这是因为 Oct 31 == Dec 25!(八进制的 31==十进制的 25)