C#面向对象的方法写数组的功能

时间:2023-01-09 17:22:54

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

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

方法类:Array

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Array
{
/// <summary>
/// 遍历数组并输出
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] showArr(int[] arr) {
for (int i = ; i < arr.Length;i++ )
{
Console.Write(arr[i]+" ");
}
return arr;
} /// <summary>
/// 创造一个复制数组的方法arrCopy()
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] arrCopy(int[] arr) {
int[] fuzhi = new int[arr.Length];
for(int i=;i<arr.Length;i++){
fuzhi[i] = arr[i];
}
//复制后遍历新的数组并输出
Console.WriteLine("复制后的数组为:");
for (int i = ; i < fuzhi.Length;i++ )
{
Console.Write(fuzhi[i]+" ");
}
return fuzhi;
}
/// <summary>
/// 设置一个实现数组的反转的方法fanZhuan()
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] fanZhuan(int[] arr) {
for (int i = ; i < arr.Length / ;i++ )
{
//直接调用交换方法
jiaoHuan(arr,i,arr.Length-1-i);//交换数组中的arr[i]和arr[arr.Length-1-i]
//int temp = ;
//temp = arr[i];
//arr[i] = arr[arr.Length - - i];
//arr[arr.Length - - i] = temp;
}
return arr;
}
/// <summary>
/// 冒泡排序的方法sort()
/// </summary>
/// <param name="arr"></param>
public void sort(int[] arr)
{
for (int i = ; i < arr.Length-; i++)//总共跑arr.Length趟排好顺序
{
for (int j = ; j <arr.Length--i;j++ )//每趟比较的次数
{
if (arr[j] > arr[j+]){
//这里的交换代码可以直接调用下面定义好的交换方法
//int temp = arr[j];
//arr[j] = arr[j+];
//arr[j+] = temp;
jiaoHuan(arr,j,j+1);//调用交换方法把j和j+1交换位置
}
}
}
}
//把这部分交换数组元素位置的代码写在一个方法中
public void jiaoHuan(int[] arr,int i,int j){//注意这个方法是怎么传参的******注意
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}

主方法类:Program

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//创建一个数组arr
int[] arr = new int[] { , , , -, , -, , };
//初始化Array类
Array a1 = new Array();
a1.arrCopy(arr);//调用复制数组的方法arrCopy() Console.WriteLine("\n反转后的数组为:");
a1.fanZhuan(arr);//调用反转方法实现数组的反转
a1.showArr(arr);//反转后遍历数组arr Console.WriteLine("\n冒泡排序后的数组为:");
a1.sort(arr);//调用方法对arr排序
a1.showArr(arr); Console.ReadKey();
}
}
}

运行结果:

C#面向对象的方法写数组的功能