码迷,mamicode.com
首页 > 编程语言 > 详细

C# 初入数组

时间:2017-09-24 19:15:09      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:获得   冒泡排序   素数   超出   bre   运用   insert   获取   简便   

 数组(数据类型):数组能存放多个同类型数据,数组长度不可改变。

Ⅰ、声明与赋值

  ①数组声明:数据类型[ ] 变量名;→→例:int[ ]  array;//此时只是一个声明这是个数组对象。

  ②赋值:给声明了的数组赋值→→变量名=new  数据类型[长度 ];→→例:array=new  int[5];//此时给数组赋值了个为5的长度,此时这里的[5]也称作下标或索引。

int [ ]str=new int[3]{"2","4","5"};第一种

int [ ]str={"3","5","9"};第二种,为最简便的创立一个数组。

int [] nums=new int[6];//这样只是创建了一个长度为6的数组,没有赋值

Ⅱ、数组初始化

①数字类型,初始化时所有值=0; ②bool初始化的值=false;  ③char 初始化值=\0;   ④string初始化值=null;

int [] nums=new int[6];
//创建了数组,但没赋值,此时数组内的所有元素都为0;

//创建长度为3的数组
int [] numbers=new int [3];
//给数组下标为0,的数组项赋值为6
numbers[0]=6;
//为numbers重新建立一个长度为2数组,相当于前面的数组就不用了
numbers=new int [2];
//新建立的数组为初始化,没有赋值,所以此时都为0
Console.Write(numbers[0]);//此时numbers[0]=0;

Ⅲ、数组项读取与修改

①读取:变量名[下标]

②修改(也叫赋值):变量名[ ]=值;→→array[1]=9;

Ⅳ、读取数据长度

变量名 . length;        

注意: length为数组对象的一个属性。

    要获取数组最后一项值就是array[array.length-1];

//创建数组
int  [] array={"4","2","7"};
//i为array下标,array.length为数组长度
for  (int i=0;i<array.length;i++)
{
     Console,Write( array );
   Console.WriteLine(array[array.length-1]); }

数组定长性

一个数组创建后,他的长度固定不可变,数据适用于数据数量固定场景。

int [] array=new int [3];
array=new int [4];
//此时会觉得这不是长度改变了吗?其实不是。
//只是先定义了个长度为3的数组,再重新为array创建了一个长度为4的数组,所以之前的就废弃了,长度并没有发生改变

数组遍历

给数组重新赋值或求和或求乘积等都会运用遍历。

int [] array={"2","4","5"};
   for(int i=0;i<array.length;i++)
{
      Console.Write(array);
//输出一个数组项后输出空格隔开
 Console.Write("   ");
     
}

数组排序

①选择排序:

把第一位数字拿出来依次和后面每一位数字比较,比他大则不换位置,比他小则换位置,,不管换了几次都用第一位来比较,具有不稳定性

1-1. 使用任意的排序算法对数组进行排序,排序后,重新输出数组内容
var array=[6,8,5,2,2];
for (var i=0;i<array.length-1;i++){
for(var j=i+1;j<array.length;j++){
if(array[i]>array[j]){
var temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
Console.Write(array);

 ②冒泡排序

相邻两个数进行比较,谁小换前面,谁大换后面。冒泡排序具有稳定性。

1-1. 使用任意的排序算法对数组进行排序,排序后,重新输出数组内容
var array=[6,8,5,2,2];
//i为循环次数
for (var i=0;i<array.length-1;i++){
//j为array的下标
for(var j=0;j<array.length-1-i ;j++){
if(array[j]>array[j+1]){
var temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
Console.Write(array);

 

数组与集合

数组:能定长,用于保存固定数量的数据;占用内存少,遍历快。

集合:不定长,可改变长度。

集合类型:List 类型最常见。

①创建集合

定义:List<数据类型>变量名;

赋值:变量名=new  List <数据类型>();           例:List<int> nums=new  List<int>{3,6,8};

初始化:变量名=new List<数据类型>{元素1,元素2,元素3......元素n};

②操作:

添加元素:变量名 . add(要添加的数据);

插入元素:变量名 . Insert(索引,要插入的数据);

删除元素:变量名 . RemoveAt(索引); //根据索引删除

                  变量名 . Remove(数据);//根据数据删除

修改元素:变量名[索引]=值;

获取元素数量:变量名 . Count

【材料题】

1. 建立一个int类型的数组,变量名为nums,并使用初始化器给它的每一项赋值(随意赋一些值即可),然后完成下面的练习

 

Console.Write("请输入一个数组长度:");

            int len = int.Parse(Console.ReadLine());

            int[] nums=new int[len];

            for (int i = 0; i < len; i++)

            {

                Console.Write("数组第" + (i + 1) + "组数据:");

                nums[i] = int.Parse(Console.ReadLine());

            }

            for (int i = 0; i < nums.Length;i++ )

            {

                if (i < nums.Length - 1)

                {

                    Console.Write(",");

                  

                }

                Console.Write(  nums[i]);

            }

1-1. 让用户输入一个下标和一个新的数字,修改数组对应下标的数字,若下标超出范围,要给出错误提示,并让用户重新输入



            Console.Write("请输入一个下标");

            int len = int.Parse(Console.ReadLine());

            Console.Write("请输入一个新数字");

            int num = int.Parse(Console.ReadLine());

            int[] str = {2,3,6,3,1 };

            if (len <= str.Length - 1)

            {

                str[len]=num;

                Console.Write("正确");

            }

            else

            {

                Console.Write("超出范围");

            }

           

          

1-2. 让用户输入一个要查找的数字,判断该数字在数组中是否存在

 int[] nums = {2,5,7,2,4 };

            Console.Write("请输入一个数字:");

            int ter = int.Parse(Console.ReadLine());

            bool IsNuM = false;

            for (int i = 0; i < nums.Length;i++ )

            {

 

                if (nums[i] == ter)

                {

                    IsNuM = true;

                    Console.WriteLine("存在过");

                    break;

                }

              

            }

            if(IsNuM)

            {

                Console.Write("不存在");

            }

1-5. 输出数组中所有的质数
int[] nums = { 2, 4, 5, 7 };

         // 遍历数组获得每一个元素

         for (int i = 0; i < nums.length; i++) {

              //默认元素是质数

              boolean iszhishu = true;

              //质数整除的范围2~(n-1)

              for (int j = 2; j < nums[i]; j++) {

                   //判断是否合数,是合数iszhishu就为false,终止当前循环

                   if (nums[i] % j == 0) {

                       iszhishu = false;

                       break;

                   }

              }

              //判断是否质数

              if (iszhishu) {

                  Console.Write(nums[i] + "是质数");

              }

C# 初入数组

标签:获得   冒泡排序   素数   超出   bre   运用   insert   获取   简便   

原文地址:http://www.cnblogs.com/mikolulu/p/7587967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!