今天上班中午吃饱之后、逛博客溜达看到一道题:数组反转 晚上回家洗完澡没事情做,就自己练习一把。
public static class ArrayReserve
{
/// <summary>
/// 使用 Array.Reverse(Arrar) 反转全部
/// </summary>
/// <param name="arr"></param>
public static void ReverseDemo1(int[] arr)
{
Console.WriteLine("使用 Array.Reverse(Arrar) 反转全部");
Array.Reverse(arr);
}
/// <summary>
/// 使用 Array.Reverse(Array arr,int begin,int end),反转指定部分
/// </summary>
/// <param name="arr"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
public static void ReverseDemo2(int[] arr, int begin, int end)
{
Console.WriteLine("使用 Array.Reverse(Array arr,int begin,int end),反转指定部分");
Array.Reverse(arr, begin, end);
}
/// <summary>
/// 使用自定义方法实现反转
/// </summary>
/// <param name="arr"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
public static void ReverseDemo3(int[] arr, int begin, int end)
{
Console.WriteLine("使用自定义方法实现反转");
if(null==arr)
{
throw new ArgumentNullException("arr", "Array不能为null");
}
if(begin<=0 || end <=0)
{
throw new ArgumentOutOfRangeException("开始或结束索引没有正确设置");
}
if(end>arr.Length)
{
throw new ArgumentOutOfRangeException("end", "结束索引超出数组长度");
}
while(begin<end)
{
int temp = arr[end];
arr[end] = arr[begin];
arr[begin] = temp;
begin++;
end--;
}
}
/// <summary>
/// 使用自定义方法实现反转(使用栈《后进先出》)
/// </summary>
/// <param name="arr"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
public static void ReverseDemo4(int[] arr, int begin, int end)
{
Console.WriteLine("使用自定义方法实现反转(使用栈《后进先出》)");
if (null == arr)
{
throw new ArgumentNullException("arr", "Array不能为null");
}
if (begin <= 0 || end <= 0)
{
throw new ArgumentOutOfRangeException("开始或结束索引没有正确设置");
}
if (end > arr.Length)
{
throw new ArgumentOutOfRangeException("end", "结束索引超出数组长度");
}
Stack<int> intStack = new Stack<int>();
int tempBegin = begin;
for(;begin<=end;begin++)
{
intStack.Push(arr[begin]);
}
for (; tempBegin <= end; tempBegin++)
{
arr[tempBegin] = intStack.Pop();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# c#
# 数组反转
# C#中数组初始化、反转和排序用法实例
# C#使用自定义算法对数组进行反转操作的方法
# C#数组反转与排序实例分析
# 自定义
# 能为
# 洗完
# 吃饱
# 大家多多
# 中午
# 晚上
# 博客
# lt
# ArrayReserve
# public
# static
# Array
# Reverse
# summary
# gt
# csharp
# nbsp
# Push
# arr
相关文章:
专业网站建设制作报价,网页设计制作要考什么证?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
建站之星与建站宝盒如何选择最佳方案?
相册网站制作软件,图片上的网址怎么复制?
深圳网站制作平台,深圳市做网站好的公司有哪些?
济南网站制作的价格,历城一职专官方网站?
建站之星如何保障用户数据免受黑客入侵?
广州建站公司哪家好?十大优质服务商推荐
javascript中的try catch异常捕获机制用法分析
建站之星安装失败:服务器环境不兼容?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
建站主机是什么?如何选择适合的建站主机?
深圳网站制作培训,深圳哪些招聘网站比较好?
宝塔面板如何快速创建新站点?
如何高效完成自助建站业务培训?
如何用免费手机建站系统零基础打造专业网站?
Python文件管理规范_工程实践说明【指导】
建站org新手必看:2024最新搭建流程与模板选择技巧
广德云建站网站建设方案与建站流程优化指南
,有什么在线背英语单词效率比较高的网站?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
简单实现Android文件上传
如何配置FTP站点权限与安全设置?
如何在万网主机上快速搭建网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
电商网站制作公司有哪些,1688网是什么意思?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何彻底卸载建站之星软件?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
建站之星安装步骤有哪些常见问题?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
山东网站制作公司有哪些,山东大源集团官网?
建站之星如何实现五合一智能建站与营销推广?
制作旅游网站html,怎样注册旅游网站?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何通过虚拟主机空间快速建站?
如何在万网ECS上快速搭建专属网站?
香港网站服务器数量如何影响SEO优化效果?
如何在阿里云虚拟主机上快速搭建个人网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
北京专业网站制作设计师招聘,北京白云观官方网站?
Android自定义控件实现温度旋转按钮效果
建站之星IIS配置教程:代码生成技巧与站点搭建指南
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
建站之星后台密码遗忘?如何快速找回?
在线教育网站制作平台,山西立德教育官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。