代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
A1,A2,A3...AN,B1,B2,B3...BN,变为A1,B1,A2,B2,A3,B3.
作者:
clark-lee
/ 发布于
2014/1/22
/
354
元素为A1,A2,A3...AN,B1,B2,B3...BN,将其变为A1,B1,A2,B2,A3,B3...AN,BN的算法实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Chapter2._1 { class Program { static void Main(string[] args) { while (true) { //输入数据A={a1,a2,a3...an,b1,b2,b3...bn} Console.WriteLine("请输入数组"); string input = Console.ReadLine(); string[] strInputs = input.Split(new char[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries); int[] inputs; try { inputs = new int[strInputs.Length]; for (int index = 0; index != strInputs.Length; index++) { inputs[index] = int.Parse(strInputs[index]); } } //如果没有输入数据,就初始化为 A={1, 3, 5, 7, 9, 2, 4, 6, 8, 10} catch (Exception ex) { inputs = new int[10] { 1, 3, 5, 7, 9, 2, 4, 6, 8, 10 }; } //对数组处理 ReArrange(ref inputs); //输出 foreach (int i in inputs) { Console.Write(i); } Console.WriteLine(); } } static void ReArrange(ref int[] an) { int p = 0, q = an.Length - 1; Change(ref an, p, q); } static void Change(ref int[] an, int p, int q) { if (p + 1 < q) { int middle=(p+q)/2; //如果n是偶数 if ((middle+1 - p) % 2 == 0) { int start = (middle + p + 1) / 2; for (int index1 = start, index2 = middle + 1; index1 < middle + 1; index1++, index2++) { int temp = an[index1]; an[index1] = an[index2]; an[index2] = temp; } Change(ref an, p, middle); Change(ref an, middle + 1, q); } //如果n是奇数 else { int start = (middle + p + 1) / 2; int val = an[middle]; for (int index1 = start, index2 = middle+1; index1 < middle+1 ; index1++, index2++) { if(index1<middle) { int temp = an[index1]; an[index1] = an[index2]; an[index2-1] = temp; } else { an[index2-1]=val; } } Change(ref an, p, middle-1); Change(ref an, middle , q); } } } } }
试试其它关键字
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
clark-lee
贡献的其它代码
(
2
)
.
获取相同概率随机数
.
A1,A2,A3...AN,B1,B2,B3...BN,变为A1,B1,A2,B2,A3,B3.
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3