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();