zoukankan      html  css  js  c++  java
  • C#面向对象的方法写数组的功能

    上一篇文章用Java方法写出了可以对数组执行的功能,然后在用实例化后的对象调用这些方法来实现这些功能;

    这篇随笔改用C#语言实现同样的功能

    方法类:Array

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     class Array
    10     {
    11         /// <summary>
    12         /// 遍历数组并输出
    13         /// </summary>
    14         /// <param name="arr"></param>
    15         /// <returns></returns>
    16         public int[] showArr(int[] arr) {
    17             for (int i = 0; i < arr.Length;i++ )
    18             {
    19                 Console.Write(arr[i]+"  ");
    20             }
    21             return arr;
    22         }
    23 
    24         /// <summary>
    25         /// 创造一个复制数组的方法arrCopy()
    26         /// </summary>
    27         /// <param name="arr"></param>
    28         /// <returns></returns>
    29         public int[] arrCopy(int[] arr) {
    30             int[] fuzhi = new int[arr.Length];
    31             for(int i=0;i<arr.Length;i++){
    32                 fuzhi[i] = arr[i];
    33             }
    34             //复制后遍历新的数组并输出
    35             Console.WriteLine("复制后的数组为:");
    36             for (int i = 0; i < fuzhi.Length;i++ )
    37             {
    38                 Console.Write(fuzhi[i]+"  ");
    39             }
    40             return fuzhi;
    41         }
    42         /// <summary>
    43         /// 设置一个实现数组的反转的方法fanZhuan()
    44         /// </summary>
    45         /// <param name="arr"></param>
    46         /// <returns></returns>
    47         public int[] fanZhuan(int[] arr) {
    48             for (int i = 0; i < arr.Length / 2;i++ )
    49             {
    //直接调用交换方法
    jiaoHuan(arr,i,arr.Length-1-i);//交换数组中的arr[i]和arr[arr.Length-1-i]
    50 //int temp = 0; 51 //temp = arr[i]; 52 //arr[i] = arr[arr.Length - 1 - i]; 53 //arr[arr.Length - 1 - i] = temp; 54 } 55 return arr; 56 } 57 /// <summary> 58 /// 冒泡排序的方法sort() 59 /// </summary> 60 /// <param name="arr"></param> 61 public void sort(int[] arr) 62 { 63 for (int i = 0; i < arr.Length-1; i++)//总共跑arr.Length趟排好顺序 64 { 65 for (int j = 0; j <arr.Length-1-i;j++ )//每趟比较的次数 66 { 67 if (arr[j] > arr[j+1]){
    //这里的交换代码可以直接调用下面定义好的交换方法
    68 //int temp = arr[j]; 69 //arr[j] = arr[j+1]; 70 //arr[j+1] = temp;
    jiaoHuan(arr,j,j+1);//调用交换方法把j和j+1交换位置
    71 } 72 } 73 } 74 }
    //把这部分交换数组元素位置的代码写在一个方法中
    public void jiaoHuan(int[] arr,int i,int j){//注意这个方法是怎么传参的******注意
    int temp=arr[i];
    arr[i]=arr[j];
    arr[j]=temp;
    }
    75 } 76 }

    主方法类:Program

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             //创建一个数组arr
    14             int[] arr = new int[] { 1, 2, 5, -6, 23, -9, 26, 100 };
    15             //初始化Array类
    16             Array a1 = new Array();
    17             a1.arrCopy(arr);//调用复制数组的方法arrCopy()
    18 
    19             Console.WriteLine("
    反转后的数组为:");
    20             a1.fanZhuan(arr);//调用反转方法实现数组的反转
    21             a1.showArr(arr);//反转后遍历数组arr
    22 
    23             Console.WriteLine("
    冒泡排序后的数组为:");
    24             a1.sort(arr);//调用方法对arr排序
    25             a1.showArr(arr);
    26 
    27             Console.ReadKey();
    28         }
    29     }
    30 }

    运行结果:

  • 相关阅读:
    Vue学习-Day1
    Shell脚本学习
    Linux基础
    C# int.Parse()、int.TryParse()与Convert.ToInt32()的区别
    windows下跑python flask,环境配置
    linq性能剖析
    servicestack操作redis
    程序员福利各大平台免费接口非常适用
    ASP.NET下跨应用共享Session和使用Redis进行Session托管简介
    Web Farm和Web Garden的区别
  • 原文地址:https://www.cnblogs.com/yunqing/p/4768688.html
Copyright © 2011-2022 走看看