• 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 }

    运行结果:

  • 相关阅读:
    这个Pandas函数可以自动爬取Web图表
    /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/python3.6/lib/python3.6/site-packages/paddle/fluid/core_avx.so)
    kubernetes yaml详解
    centos 安装kubernetes
    初识kafka-connect
    Docker1:本地连接Docker中的mysql,实现数据同步
    git分支管理规范
    cat 配置告警规则
    Java的即时编译(Just In Time, JIT)及其优化
    java自定义实现一个缓存器
  • 原文地址:https://www.cnblogs.com/yunqing/p/4768688.html
Copyright © 2020-2023  润新知