数组进行增、删、查、改
来源:互联网 发布:清华软件学院排名 编辑:程序博客网 时间:2024/06/02 13:04
class Program { private static int[] num = new int[0];//定义一个数组 /// <summary>封装num数字字段 ///封装num数字字段 /// </summary> public int[] Num { get { if (num == null) { num = new int[0]; } return num; } set { num = value; } } /// <summary> 程序入口处 /// 程序入口处 /// </summary> /// <param name="args"></param> static void Main(string[] args) { string tian;//选择项 int shu, reshu; do { Random rd = new Random(); int n = rd.Next(0, 1000); Console.WriteLine("1.显示 2.添加 3.删除 4修改 5.查询 6. 退出"); tian = Console.ReadLine(); switch (tian) { case "1": ListArray(); break; case "2": AddArray(n); break; case "3": if (Cun() == false) { Console.WriteLine("数组没有一个值存在!!"); break; } Console.WriteLine("请输入删除的数"); shu = int.Parse(Console.ReadLine()); MinusArray(shu); break; case "4": if (Cun() == false) { Console.WriteLine("数组没有一个值存在!!"); break; } Console.WriteLine("请输入要修改的数"); shu = int.Parse(Console.ReadLine()); Console.WriteLine("请输入修改值"); reshu = int.Parse(Console.ReadLine()); AmendArray(shu, reshu); break; case "5": if (Cun() == false) { Console.WriteLine("数组没有一个值存在!!"); break; } Console.WriteLine("请输入要查询的数"); shu = int.Parse(Console.ReadLine()); FindArray(shu); break; default: Console.WriteLine("输入错误!!"); break; } } while (tian != "6"); } /// <summary>添加 /// 添加 /// </summary> /// <param name="shu">添加的数</param> public static void AddArray(int shu) { int[] newnum = new int[num.Length + 1]; for (int i = 0; i < num.Length; i++) { if (shu == num[i]) { Console.WriteLine("不能重复添加!!"); return; } } if (num == null) { newnum[0] = shu; } else { for (int i = 0; i < num.Length; i++) { newnum[i] = num[i]; } newnum[newnum.Length - 1] = shu; num = newnum; Console.WriteLine("添加成功!!"); } } /// <summary>删除 /// 删除 /// </summary> /// <param name="shu"></param> public static void MinusArray(int shu) { int[] newnum = new int[num.Length - 1]; int index = -1; for (int i = 0; i < num.Length; i++) { if (shu == num[i]) { index = i; break; } } if (index < 0) { Console.WriteLine("数组中没有此数值!!"); return; } for (int i = 0; i < num.Length; i++) { if (i != index) { if (i < index) { newnum[i] = num[i]; } else { newnum[i - 1] = num[i]; } } } num = newnum; if (index >= 0) { Console.WriteLine("删除成功!!"); } } /// <summary>修改 /// 修改 /// </summary> /// <param name="shu"></param> public static void AmendArray(int shu, int reshu) { int index = -1; for (int i = 0; i < num.Length; i++) { if (shu == num[i]) { index = i; } } int index2 = -1; if (index >= 0) { //判断修改的值是否与数组中的元素值有重复 for (int i = 0; i < num.Length; i++) { if (reshu == num[i]) { index2 = i; } } if (index2 >= 0) { Console.WriteLine("不能修改为数组重复的数"); return; } else { num[index] = reshu; Console.WriteLine("修改成功!!"); } } else { Console.WriteLine("没有此数!!"); } } /// <summary>查找数组是否此数据 /// 查找数组是否此数据 /// </summary> /// <param name="shu"></param> public static void FindArray(int shu) { int index = -1; for (int i = 0; i < num.Length; i++) { if (shu == num[i]) { index = i; } } if (index > 0) { Console.WriteLine("有此数{0}", shu); } else { Console.WriteLine("没有此数!!"); } } /// <summary>显示数组清单 /// 显示数组清单 /// </summary> public static void ListArray() { if (num == null || num.Length == 0) { Console.WriteLine("数组没有一个值存在!!"); return; } else { for (int i = 0; i < num.Length; i++) { Console.WriteLine(num[i]); } } } /// <summary>判断数组是否为空或者数组长度为0 /// 判断数组是否为空或者数组长度为0 /// </summary> /// <returns></returns> public static bool Cun() { bool bl = true; if (num == null || num.Length == 0) { bl = false; } return bl; } }