Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)

时间:2023-03-09 08:46:05
Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)

冒泡排序:

将一个数组中的元素按照从大到小或从小到大的顺序进行排列。

for循环的嵌套---专项课题

int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9
第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-i
第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=nums.Length-1-i
第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次 i=2 j=nums.Length-1-i
第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次 i=3 j=nums.Length-1-i
第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次
第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次
第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次
第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次
第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _数组练习01
{
class Program
{
static void Main(string[] args)
{
int[] nums = { , , , , ,,,, };
for (int i = ; i < nums.Length-; i++)
{
for (int j = ; j < nums.Length-1-i; j++) //for(int j=0;j<nums.Length-i;j++)运算次数进行了优化处理
{
if (nums[j]<nums[j + ])
{
int temp = nums[j];
nums[j] = nums[j + ];
nums[j + ] = temp;
}
}
}
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _数组练习01
{
class Program
{
static void Main(string[] args)
{
int[] nums = { , , , , ,,,, };
Array.Sort(nums); //针对数组进行升序排列
Array.Reverse(nums); //(假意的针对数组进行降序排列);对上面升序的数组的反转处理
//for (int i = 0; i < nums.Length-1; i++)
//{
// for (int j = 0; j < nums.Length-1; j++)
// {
// if (nums[j]<nums[j + 1])
// {
// int temp = nums[j];
// nums[j] = nums[j + 1];
// nums[j + 1] = temp;
// }
// }
//}
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
}
}
}