为什么双层循环 冒泡排序_冒泡排序法demo(两层嵌套for循环)

这篇博客展示了如何使用C#编程语言实现双层循环的冒泡排序算法。用户可以输入数字数量和排序方式(升序或降序),程序会根据输入进行排序并显示结果。该代码示例详细解释了冒泡排序的过程,并提供了交互式的用户界面。
摘要由CSDN通过智能技术生成

namespace ConsoleDemo

{

///

/// 双层循环实现冒泡排序

///

class Program

{

static void Main(string[] args)

{

SortedNumbers();

}

///

/// 该方法获得需要排序的数组,表调用排序方法进行排序

///

public static void SortedNumbers()

{

int numberCount;

int[] numbers;

Console.WriteLine("----------silly冒泡排序法----------");

Console.WriteLine("请问您要对多少为数字进行排序?");

numberCount = Convert.ToInt32(Console.ReadLine());

numbers = new int[numberCount];

Console.WriteLine("请输入您要进行排序的这{0}个数字:",numberCount);

for (int i = 0; i < numberCount; i++)

{

numbers[i] = Convert.ToInt32(Console.ReadLine());

}

Console.WriteLine("\n您要进行排序的{0}个数字分别为:",numberCount);

for (int i = 0; i < numberCount; i++)

{

Console.Write(numbers[i].ToString() + "\t");

}

Console.WriteLine("\n您要对这{0}个数字进行什么排序?(1表示升序,2表示降序)",numberCount);

int method = Convert.ToInt32(Console.ReadLine());

while (method != 1 && method != 2)

{

Console.WriteLine("只能输入1或者2,请您重新输入!");

method = Convert.ToInt32(Console.ReadLine());

}

//调用排序方法

ExecuteSortedMethod(numbers, method);

Console.WriteLine("排序后的结果为:");

for (int i = 0; i < numberCount; i++)

{

Console.Write(numbers[i].ToString() + "\t");

}

Console.WriteLine("\n----------sisi冒泡排序法----------");

Console.ReadKey();

}

///

/// 接受数字参数和排序方法参数,进行冒泡排序

///

/// 要进行排序的整数数组

/// 排序方法标识:1为升序,2为降序

public static void ExecuteSortedMethod(int[] num, int sortedMethod)

{

if (sortedMethod == 1)      //升序排列

{

for (int i = 0; i < num.Length -1; i++)

{

for (int j = 0; j < num.Length - 1 - i; j++)

{

if (num[j] > num[j + 1])

{

int temp = num[j];

num[j] = num[j + 1];

num[j + 1] = temp;

}

}

}

}

if (sortedMethod == 2)      //降序排列

{

for (int i = 0; i < num.Length - 1; i++)

{

for (int j = 0; j < num.Length - 1 - i; j++)

{

if (num[j] < num[j + 1])

{

int temp = num[j];

num[j] = num[j + 1];

num[j + 1] = temp;

}

}

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值