C#_一维数组_增删代码

2019-05-22  本文已影响0人  万金流
//下标增
        static void Main(string[] args)
        {
            int[] a= { 1, 3, 5, 2, 4, 6, 0 };
            int f, v;
            Console.WriteLine("在哪个下标位置插入数值?");
            f=int.Parse(Console.ReadLine());
            Console.WriteLine("插入多少?");
            v = int.Parse(Console.ReadLine());
            //移位
            for(int i=a.Length-2;i>= f;i--)
            {
                a[i + 1] = a[i];
            }
            //赋值
            a[f] = v;
            //输出
            Console.WriteLine("新数组为:");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
        }
//下标删
            int[] a = { 1, 3, 5, 2, 4, 6 };
            int f;
            Console.WriteLine("删除哪个下标位置的数?");
            f = int.Parse(Console.ReadLine());
            //移位
            for (int i =f+1;i< a.Length; i++)
            {
                a[i -1] = a[i];
            }
            //输出
            Console.WriteLine("新数组为:");
            for (int i = 0; i < a.Length-1; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
//值增
            int[] a = { 1, 3, 5, 2, 4, 6, 0 };
            int v1, v2;
            Console.WriteLine("在多少之前插入数值?");
            v1 = int.Parse(Console.ReadLine());
            Console.WriteLine("插入多少?");
            v2 = int.Parse(Console.ReadLine());
            //移位
            for (int i = 0; i < a.Length - 1; i++)
            {
                if (a[i] == v1)
                {
                    for (int j = a.Length - 2; j >= i; j--)
                    {
                        a[j + 1] = a[j];
                    }
                    //赋值
                    a[i] = v2;
                    break;
                }
            }
            //输出
            Console.WriteLine("新数组为:");
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
//值删
            int[] a = { 1, 3, 5, 2, 4, 6 };
            int v,c=0;//v是要删除的值,c是删除的值的个数
            Console.WriteLine("删除哪个数?");
            v = int.Parse(Console.ReadLine());
            //遍历查找
            for (int i = 0; i < a.Length-c/*每删除一个,就少判断一个*/; i++)
            {
                //如果找到
                if (a[i] == v)
                {
                    //移位
                    for (int j = i + 1; j < a.Length; j++)
                    {
                        a[j - 1] = a[j];
                    }
                    c++;
                    //移位成功后,退一格
                    i--;
                }
            }
            //输出
            Console.WriteLine("新数组为:");
            for (int i = 0; i < a.Length - c/*每删除一个,就少输出一个*/; i++)
            {
                Console.Write(a[i] + " ");
            }
            Console.ReadKey();
上一篇 下一篇

猜你喜欢

热点阅读