C#使用自定义算法对数组进行反转操作的方法
本文实例讲述了C#使用自定义算法对数组进行反转操作的方法。分享给大家供大家参考。具体如下:
C#的Array对象自带反转功能,但是下面的代码完全通过自定义的算法来实现数组反转
public static void ReverseArray<T>(this T[] inputArray)
{
T temp = default(T);
if (inputArray == null)
throw new ArgumentNullException("inputArray is empty");
if (inputArray.Length > 0)
{
for (int counter = 0; counter < (inputArray.Length / 2); counter++)
{
temp = inputArray[counter];
inputArray[counter] = inputArray[inputArray.Length - counter - 1];
inputArray[inputArray.Length - counter - 1] = temp;
}
}
else
{
Trace.WriteLine("Reversal not needed");
}
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#中数组初始化、反转和排序用法实例
本文实例讲述了C#中数组初始化.反转和排序用法.分享给大家供大家参考.具体如下: 下面的代码演示了在C#中定义和初始化数组,然后对其进行赋值,排序和反转的操作方法: using System; public class ArraySample { public static void Main() { // Create and initialize a new array instance. Array strArr = Array.CreateInstance(typeof(string),
-
C#数组反转与排序实例分析
本文实例分析了C#数组反转与排序的方法.分享给大家供大家参考.具体实现方法如下: C#数组反转 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 数据反转 { class Program { static void Main(string[] args) {
-
详解三种C#实现数组反转方式
今天上班中午吃饱之后.逛博客溜达看到一道题:数组反转 晚上回家洗完澡没事情做,就自己练习一把. public static class ArrayReserve { /// <summary> /// 使用 Array.Reverse(Arrar) 反转全部 /// </summary> /// <param name="arr"></param> public static void ReverseDemo1(int[] arr) {
-
C#使用自定义算法对数组进行反转操作的方法
本文实例讲述了C#使用自定义算法对数组进行反转操作的方法.分享给大家供大家参考.具体如下: C#的Array对象自带反转功能,但是下面的代码完全通过自定义的算法来实现数组反转 复制代码 代码如下: public static void ReverseArray<T>(this T[] inputArray) { T temp = default(T); if (inputArray == null) throw new ArgumentNullException("i
-
JavaScript使用二分查找算法在数组中查找数据的方法
本文实例讲述了JavaScript使用二分查找算法在数组中查找数据的方法.分享给大家供大家参考.具体分析如下: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功:否则利用中间位置记录将表分成前.后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一
-
php实现对两个数组进行减法操作的方法
本文实例讲述了php实现对两个数组进行减法操作的技巧.分享给大家供大家参考.具体如下: 本代码传入两个数组A和B,返回A-B的结果,即挑选出存在于A,但不存在于B的元素 <?php function RestaDeArrays($vectorA,$vectorB) { $cantA=count($vectorA); $cantB=count($vectorB); $No_saca=0; for($i=0;$i<$cantA;$i++) { for($j=0;$j<$cantB;$j++)
-
C++数据结构与算法之反转链表的方法详解
本文实例讲述了C++数据结构与算法之反转链表的方法.分享给大家供大家参考,具体如下: 算法概述:要求实现将一条单向链表反转并考虑时间复杂度. 算法分析: 数组法(略): 将列表元素逐个保存进数组,之后再逆向重建列表 点评:实现逻辑最简单,需要额外的内存开销. 移动指针: 通过三个指针逐个从链表头开始逐一反转链表元素的指针 点评:不需要额外的内存开销,会改变原始链表. 递归: 以递归的方式首先找到链表尾部,再逐一反转指针 点评:不需要额外的内存开销,不会改变原始链表. 算法实现: 构建链表结构 /
-
C语言中使用qsort函数对自定义结构体数组进行排序
目录 使用qsort函数对自定义结构体数组进行排序 结构体 排序函数 总体代码 C语言 qsort()函数详解 1.qsort概念介绍 2.qsort()函数实现(循序渐进式讲解) 3.小结 使用qsort函数对自定义结构体数组进行排序 qsort进行排序的数组存储的不能是结构体的指针,需要是结构体本身. 结构体 struct student{ char* id; int mark; }arr[4], test0={"0001",80}, test1={"00
-
PHP自定义函数实现数组比较功能示例
本文实例讲述了PHP自定义函数实现数组比较功能.分享给大家供大家参考,具体如下: <?php //数组使用标准比较运算符这样比较的 function standard_array_compare($op1,$op2) { if(count($op1) < count($op2)) { return -1; //$op1 < $op2 } else if(count($op1) > count($op1)) { return 1; //$op1 > op2 } foreach
-
Go语言算法之寻找数组第二大元素的方法
本文实例讲述了Go语言算法之寻找数组第二大元素的方法.分享给大家供大家参考.具体如下: 该算法的原理是,在遍历数组的时,始终记录当前最大的元素和第二大的元素.示例代码如下: 复制代码 代码如下: package demo01 import ( "fmt" ) func NumberTestBase() { fmt.Println("This is NumberTestBase") nums := []int{12, 2
-
C++通过自定义函数找出一个整数数组中第二大数的方法
本文实例讲述了C++通过自定义函数找出一个整数数组中第二大数的方法.分享给大家供大家参考.具体实现方法如下: const int MINNUMBER = -32767 ; //2字节的Int 0x8000-1, //4字节的Int 0x80000000-1 -2147483647 int find_sec_max( int data[] , int count) { int maxnumber = data[0] ; int sec_max = MINNUMBER ; for ( int i =
-
python对数组进行反转的方法
本文实例讲述了python对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: arr = [1,2,3] arr.reverse() print(arr) 输出: [3,2,1] 希望本文所述对大家的Python程序设计有所帮助.
-
Java实现数组反转翻转的方法实例
数组翻转的方法(java实现),数组翻转,就是将数组倒置,例如原数组为:{"a","b","c","d"},那么翻转后的数组为{"d","c","b","a"}. [方法一]使用集合个工具类: Collections.reverse(ArrayList) 将数组进行反转: import java.util.ArrayList;import java
随机推荐
- Lua脚本语言基本语法快速入门教程
- jQuery监听浏览器窗口大小的变化实例
- C++设计模式之原型模式
- asp.net String.IsNullOrEmpty 方法
- Windows下PHP5和Apache的安装与配置
- 详解Python函数可变参数定义及其参数传递方式
- C#操作注册表的方法详解
- 动态更新highcharts数据的实现方法
- js文件Cookie存取值示例代码
- Spring Boot整合MyBatis操作过程
- Android快速分析apk工具aapt的使用教程
- JS 各种网页尺寸判断实例方法
- Node.js环境下Koa2添加travis ci持续集成工具的方法
- Android编程实现在adapter中进行数据操作的方法
- String类的写时拷贝实例
- android初学者必须掌握的Activity状态的四大知识点(必读)
- js实现透明度渐变效果的方法
- 详解Android ViewCompat的作用
- asp调用存储过程
- 路由器访问控制列表详解