数组
一维数组
一、定义
语法:
数组类型 [] 数组名;
其中,“数据类型"为C#中的合法类型。
例如 :int[] a;
double [] b;
string[]c;
1、不给定初始值的情况
//默认数组各元素均取0
int []a=new int[10];
2给定初始值的情况下
int []b=new int[10]{1,2,3,4,5,6,7,8,,9,10};
或
int []b=new int[]{1,2,3,4,5,6,7,8,9,10};
注意:如果给出了数组的长度,则初始值的个数就应该与数组的长度相等,否则就会报错。
二、一维数组的静态初始化
例如:
int []c={1,2,3,4,5};
三、访问数组
for 循环访问
例如:
int []d={1,2,3,4,5};
for(int i=0;i<5;i++)
Console.WriteLine("{0}", d[i]);
Console.ReadKey();
foreach循环
foreach(类型 迭代变量 in 数组集合)//显示迭代变量格式
语句:
foreach(var 迭代变量 in 数组或集合)
语句;
例如:
int[] e = { 1, 2, 3, 4, 5, 6 };
foreach (var a in e)
{
System.Console.WriteLine("{0}", a);
}
Console.ReadKey();
二维数组
语法:
数据类型[ ,] 数组名=new 数据类型 [m][n]{数据};
其他同一维数组略;
二分法找数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{//二分法找数
double[] a = new double[10] { 1, 1.2, 3.1, 2.4, 5.1, 1.6, 7.1, 3.8, 9.2, 10.0 };
double k;
int low = 0, high = 9, mid;
Console.Write("K");
k = double.Parse(Console.ReadLine());
while (low <= high)
{
mid = (low + high) / 2;
if (a[mid] == k)
{
Console.WriteLine("a{0}={1]", mid, k);
return;
}
else if (a[mid] > k)
high = mid - 1;
else
low = mid + 1;
}
Console.WriteLine("未找到{0}", k);
}
}
}