C#自学13—数组知识点+冒泡排序

1、数组知识点
一次性存储多个相同类型的变量。
语法:
数组类型[] 数组名=new 数组类型[数组长度];

***数组的长度一旦固定了,就不能再被改变了

数组保存多个值;几乎任意类型都可以声明数组;
int[] nums = new int[3];
int[] nums = {5,3,8};
int[]nums=new int[3]{1,2,3};
int[]nums=new int[]{2,3,5};
数组的声明:以上四种

int[] nums = new int[3]{5,3,8}//个数和声明数必须一致
int[] nums = new int[5]{5,3,8}//错误
int[] nums = new int[]{5,3,8}//正确,可以省略数组个字
使用索引器访问指定编号位置的元素,访问数组元素:nums[0]、nums[1]。索引从0开始。取到的元素的类型就是数组元素的类型。还可以对数组元素进行赋值

2、从一个整数数组中取出最大的整数,最小整数,总和,平均值

static void Main(string[] args)
        {
            #region 练习1
            **//练习1:从一个整数数组中取出最大的整数,最小整数,总和,平均值**
            //声明一个int类型的数组 并且随意的赋初值
            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            //声明两个变量用来存储最大值和最小值
            int max = int.MinValue;//nums[3];
            int min = int.MaxValue;//nums[0];
            int sum = 0;
            //循环的让数组中的每个元素跟我的最大值、最小值进行比较

            for (int i = 0; i < nums.Length; i++)
            {
                //关于在循环中nums[i]的理解方式
                //1、代表数组中当前循环到的元素
                //2、代表数组中的每个元素
                //如果数组中当前循环到的这个元素 比我的max还要大,则把当前这个元素赋值给我的max
                if (nums[i] > max)
                {
                    max = nums[i];
                }

                if (nums[i] < min)
                {
                    min = nums[i];
                }
                sum += nums[i];
            }
            Console.WriteLine("这个数组的最大值是{0},最小值是{1},总和是{2},平均值是{3}", max, min, sum, sum / nums.Length);
            Console.ReadKey();
            #endregion

3、10、冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。
int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8 9
第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-i
第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=nums.Length-1-i
第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次 i=2 j=nums.Length-1-i
第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次 i=3 j=nums.Length-1-i
第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次
第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次
第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次
第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次
第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次
for(int i=0;i<number.Length-1;i++)
{
for(int j=0;j<nums.Length-1-i;j++)
{
if(nums[j]>nums[j+1])
{
int temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}

static void Main(string[] args)
        {
            int[] nums = { 1, 4, 3, 9, 6, 8, 11 };
            //只能针对数组做一个升序的排列
            //Array.Sort(nums);

            //对数组进行反转
            Array.Reverse(nums);

            //for (int i = 0; i < nums.Length - 1; i++)
            //{
            //    for (int j = 0; j < nums.Length - 1-i ; j++)
            //    {
            //        if (nums[j] > nums[j + 1])
            //        {
            //            int temp = nums[j];
            //            nums[j] = nums[j + 1];
            //            nums[j + 1] = temp;
            //        }
            //    }
            //}


            for (int i = 0; i < nums.Length; i++)
            {
                Console.WriteLine(nums[i]);
            }
            Console.ReadKey();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值