版权声明:转载请标明原文章地址 https://blog.csdn.net/weixin_41543617/article/details/88769049
1.将一个数组中的元素的顺序进行反转:
前后对应元素互相交换即可,
例如定义一个数组为string[] names = {a,b,c,d,e,f};
换成:f d e c b a
第一次交换:a 和 f i = 0;names[i] names[names.Length-1-i]
第二次交换:b 和 e i = 0;names[i] names[names.Length-1-i]
第三次交换:c 和 d i = 0;names[i] names[names.Length-1-i]
循环次数:names.Length/2
代码如下:
string[] names = { "abc", "Hello", "张三", "哇哈哈哈哈", "金X恩"};
for (int i = 0; i < names.Length/2; i++)
{
string temp = names[i];
names[i] = names[names.Length - 1 - i];
names[names.Length - 1 - i] = temp;
}
for (int i = 0; i < names.Length; i++)
{
Console.WriteLine(names[i]);
}
Console.ReadKey();
2.冒泡排序:
int[] nums = {9,8,7,6,5,4,3,2,1,0};
变为升序;
第一趟比较:8 7 6 5 4 3 2 1 0 9交换了9次
第二趟比较:7 6 5 4 3 2 1 0 8 9交换了8次
以此类推
比较9趟,外循环为比较趟数,内循环元素交换
for(int i=0;i<nums.Length-1;i++)
{
for(int j=0;j<nums.Length-1-i;j++)
{
if(nums[j]>nums[j+1])
{
int temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
3.排序方法:
Array.Sort(nums);对数组进行升序排列
Array.Reverse(nums);对数组进行反转,不能进行升序或降序排列
二者结合可对所有数组进行升序或降序排列
升序:直接Array.Sort();
降序:先Array.Sort();再Array.Reverse();反转