只是整理下东西,比我整理好的博客很多。所以不敢说是原创。
问题数组排序:C#, 方法冒泡法、选择法。
一、冒泡法
<span style="font-size:18px;"> static int[] bubbleFunction(int[] arr)
{
int temp;
//有n个数组,需要循环n-1次。0~n-2次
for (int i = 0; i < arr.Length - 1; i++)
{
//确保循环能循环到最后一个元素n-1索引号
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[i] > arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
} </span>
二、选择排序法
<span style="font-size:18px;"> static int[] SelectFunction(int[] arr)
{
int min, temp;//在冒泡排序方法的基础上做一个标志,每次交换时只和最小的值交换
for (int i = 0; i < arr.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[min] > arr[j])
{
min = j;
}
if (min != i)
{
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
}
return arr;
} </span>
其实这两种算法都挺简单的,但在复杂的事不都是好多简单事组在一起的吗?