ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 简单数组——一维数组、多维数组、非齐整数组

简单数组——一维数组、多维数组、非齐整数组

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-04-02 13:21:06 0 删除 编辑

数组(array)是一组类型相同的变量的集合,可以通过一个公共的名称来访问其中的变量。它具有一个特殊的性质:作为对象来应用。

 

一维数组:

声明形式:type[] array-name=new type[size]

注:区分C与C++,方括号是在类型的后边而不是在数组名称的后边

 

初始化数组:

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->int[] nums1 = new int[10];

int[] nums2;
nums2 
= new int[10];

int[] nums3 = {99,10,23,90,11,24,55,78,45,78};         //等价下边
int[] nums3 = new int[10]{99,10,23,90,11,24,55,78,45,78};     //new int[10]可省略

int[] nums4;
nums4 
= new int[10]{99,10,23,90,11,24,55,78,45,78};     //new int[10]不可省略

 

 

=========================

 多维数组:

 声明方式:

 type[,.......,] array-name = new type[size1,size2,......,sizeN]; 

注:区分C,C++,Java,多维数组是在方括号内以逗号区分,而不是以多个方括号区分 

 初始化:

int[,,] multidim = new int[4,30,3];

type[,,,] array-name={

{val,val,....},

{val,val,....},

.....

{val,val,....}

}

如:class Squares

{
    
public static void Main()
    {
        
int[,] sqrs={
        {
1,1},
        {
2,4},
        {
3,9},
        {
4,16},
        {
5,25},
        {
6,36},
        {
7,49},
        {
8,64},
        {
9,81},
        {
10,100}
        };
        
        
int i,j;
        
for(i=0;i<10,i++)
        {
            
for(j=0;j<2;j++)
                Console.Write(sqrs[i,j]
+"  ");
            Console.WriteLine();
        }
    }
}

 

 

========================

非齐整数组:

 声明方式:

type[][] array-name = new type[size][];

注意:指声明行数,声明维数;

如:

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->int[][] jagged = new int[3][];
jagged[
0] =new int[4];
jagged[
1] =new int[3];
jagged[
2] =new int[5];

 

 

 数组扩展:

1.  数组的赋值引用:

代码
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class AssignARef{
    
public static void Main(){
        
static void Main(string[] args)
        {
            
int i;
            
int[] nums1 = new int[10];
            
int[] nums2 = new int[10];

            
for (i = 0; i < 10; i++) nums1[i] = i;

            
for (i = 0; i < 10; i++) nums2[i] = -i;

            Console.Write(
"Here is nums1:");
            
for (i = 0; i < 10; i++)
                Console.Write(nums1[i] 
+ "  ");
            Console.WriteLine();

            Console.Write(
"Here is nums2:");
            
for (i = 0; i < 10; i++)
                Console.Write(nums2[i] 
+ "  ");
            Console.WriteLine();

            nums2 
= nums1;              //将nums1引用赋值给nums2
            Console.Write("Here is nums2 after assignment:");
            
for (i = 0; i < 10; i++)
                Console.Write(nums2[i] 
+ "  ");
            Console.WriteLine();

            
//现在就可以通过nums2数组来操作nums1数组了
            nums2[3] = 99;
            Console.Write(
"Here is nums1 after change through nums2:");
            
for (i = 0; i < 10; i++)
                Console.Write(nums1[i] 
+ "  ");
            Console.WriteLine();

            Console.ReadKey();
        }
    }
}

 


运行结果:

 

如结果所示,将nums1赋值给nums2后,两个数组引用变量都将指向相同对象。

 

 2.  非齐整数组的Length属性:

当Length属性用于非齐整数组时,会出现一些特殊情况。此时,可以获得每个单独数组的长度。

一下程序是模拟4个节点的网络中的CPU占用情况:

 代码

<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 class Jagged
 2     {
 3         static void Main(string[] args)
 4         {
 5             int[][] network_nodes = new int[4][];
 6             network_nodes[0] = new int[3];
 7             network_nodes[1] = new int[7];
 8             network_nodes[2] = new int[2];
 9             network_nodes[3] = new int[3];
10 
11             int i, j;
12 
13             for (i = 0; i < network_nodes.Length; i++)
14                 for (j = 0; j < network_nodes[i].Length; j++)
15                     network_nodes[i][j] = i * j + 70;
16             Console.WriteLine("Total number of network nodes:" + network_nodes.Length + "\n");
17 
18             for (i = 0; i < network_nodes.Length; i++)
19             {
20                 for (j = 0; j < network_nodes[i].Length; j++)
21                 {
22                     Console.Write("CPU usage at node" + i + " CPU " + j + ": ");
23                     Console.Write(network_nodes[i][j] + "%  ");
24                     Console.WriteLine();
25                 }
26                 Console.WriteLine();
27             }
28             Console.ReadKey();
29         }
30     }

 

运行结果:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-631090/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: GDI+与图形图像
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766245