• 数组2个练习之反转逆向输出元素等


    数组2个练习之反转逆向输出元素等

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 数组2个小练习
    {
        class Program
        {
            static void Main(string[] args)
            {
                #region 练习1
                //练习1:将一个整数数组的每个元素进行如下的处理: 
                // 如果元素是正数则将这个位置元素的值加1,如果元素是负数则将这个位置元素的值减1,如果元素是0,则不变。
                int[] nums = { 1, -2, 3, -4, 8, 6, 0 };
                for (int i = 0; i < nums.Length; i++)
                {
                    if (nums[i] > 0)
                    {
                        nums[i]++;
                    }
                    if (nums[i] < 0)
                    {
                        nums[i]--;
                    }
                    Console.WriteLine(nums[i]);  //输出数组中元素的每个值
                }
                Console.ReadKey();
                #endregion
    
                //练习2:将一个字符串数组的元素元素的顺序进行反转。如{"我","是","好人"}反转后是{"好人","是","我"}。第i个和第Lengt-i-1个进行交换。
    
                /*
                a   b   c   d   e       交换后:    e   d   c   b   a       5个元素需交换2次完成反转交换。
                a   b   c   d   e   f   交换后:    f   e   d   c   b   a   6个元素需交换3次完成反转交换。
                推导出:N个元素,交换次数为N/2
    
                数组元素:a   b   c   d   e   f
                数组序列:0   1   2   3   4   5
                第一次交换:a跟f交换 0 5交换   i=0   Length-1    推导出:Length-1-i
                第二次交换:b跟e交换 1 4交换   i=1   Length-1-1  推导出:Length - 1 - i
                第三次交换:c跟d交换 2 3交换   i=2   Length-1-2  推导出:Length - 1 - i
                */
    
                string[] text = { "a", "b", "c","d","e","f","g" };
                for (int i = 0; i < text.Length / 2; i++)
                {
                    string temp = text[i];  //先把元素i赋值给临时变量;
                    text[i] = text[text.Length - 1 - i];    //接着交换元素
                    text[text.Length - 1 - i] = temp;   //最后把临时变量中的值赋值给交换后的索引元素
                }
                //  接着遍历数组元素后输出。
                for (int i = 0; i < text.Length; i++)
                {
                    Console.WriteLine(text[i]);
                }
                Console.ReadLine();
            }
        }
    }
    ------ 一件事情没有准备好,千万不要开始,一旦开始,就一定不要停止!自己决定的事情就一定要完成,不管付出多大的代价! ------
  • 相关阅读:
    Centos常用快捷键
    ngnix笔记
    转载申明
    Linux 最小安装常用包
    update-alternatives关键解疑
    使用Java语言开发机器学习框架和参数服务器
    storm实践
    JVM线程状态,park, wait, sleep, interrupt, yeild 对比
    PHP版本解密openrtb中的价格
    Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/zhjason/p/13887762.html
Copyright © 2020-2023  润新知