8、C#基础整理(数组和冒泡排序)

数组

概念:定义一组同类型的指定个数的变量,索引从0开始

例:

int[] shuname = new int[10];//定义一组有10个数据的数组
shuname[0] = 1;
Console.WriteLine(shuname[0]);//打印出1

数组与for循环结合的练习:

1、彩票问题:通过数组录入随机生成的红球。

//定义一个含有6个数据的数组
int[] hongqiu = new int[6];
Random r = new Random();
//随机生成红球的方法
for (int i = 0; i < 6; i++)
{
    hongqiu[i] = r.Next(1, 34);
    for (int j = 0; j < i; j++)
    {
        if (hongqiu[i] == hongqiu[j])
        {
            //判断是否出现重复的红球,若出现就i--再重复循环
            i--;
            break;
        }
    }

}
Console.WriteLine("红球为:");
//打印出来红球
for (int i = 0; i < 6; i++)
{
    Console.Write("{0} ", hongqiu[i]);
}
//随机生成一个蓝球
int blue;
while(true)
{
    blue = r.Next(1,17);
    for(int i = 0;i<6;i++)
    {
        //判断蓝球是否与红球中任意一数重复
        if (blue != hongqiu[i])
        {
            continue;
        }
        else
            break;
    }
    break;
}
Console.WriteLine("蓝球为:{0}", blue);

2、遍历数组

for (int i = 0;i<hongqiu.Length;i++)
{
       int h;
       h = hongqiu[i];
       Console.WriteLine(h);
}

hongqiu.Length是数组的元素个数

3、自动遍历数组的方法:foreach

foreach (int p in hongqiu)//p的数据类型需要与数组保持一致
{
    Console.WriteLine(p);
}

数组的等量代换:冒泡排序

1、等量代换的思路:

int a = 0;
int b = 1;
//要交换a和b,需要一个中间变量c
int c = a;
a = b;
b = c;

2、在数组中通过for循环的运用

思路:用两层for循环嵌套:外层的for循环(从索引为0开始)给 i 一个数组中的值,

内层的for循环(从索引为 i 开始)给 j 一个数组中的值,并与 i 进行循环比较,最后排出想要的顺序。

例:输入五个人的成绩,进行升序的冒泡排序

            int[] shuzu = new int[5];
            Console.WriteLine("请输入五个人的成绩:");
            for (int i = 0; i < 5; i++)
            {
                shuzu[i] = int.Parse(Console.ReadLine());
            }
            for (int i = 0; i < 5; i++)
            {
                for (int j = i+1; j < 5; j++)
                {
                    if (shuzu[i] > shuzu[j])
                    {
                        int zhong = shuzu[j];
                        shuzu[j] = shuzu[i];
                        shuzu[i] = zhong;
                    }
                }
            }
            foreach (int a in shuzu)
            {
                Console.WriteLine(a);
            }
时间: 2024-10-10 06:42:54

8、C#基础整理(数组和冒泡排序)的相关文章

9、C#基础整理(多维数组)

多维数组 1.二维数组: 表示方法: int[y,x],x.y是索引,y代表行,x代表列. 例: int[,] second = new int[2, 3]{ {3,2,5}, {6,7,8} };//{}可以不写 修改方法: second[0, 1] = 3;//表示将第0行第1列的数字改为3 练习:用二维数组进行冒泡排序: 输入人数,输入每个人的年龄.身高.姓名,求平均年龄,按身高从高到低排序 Console.WriteLine("请输入人数:"); int n = int.Par

[整理]改进的冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名. /// <summary> /// 改进的冒泡排序 /// </summary> /// <param name="array">待排序的数组&l

《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

第四章 Numpy基础:数组和矢量计算 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy和面向数组的计算能有助于理解后面的pandas.按照课本的说法,作者关心的功能主要集中于: 用于数据整理和清理.子集构造和过滤.转换等快速的矢量化运算 常用的数组解法,如排序.唯一化.集合运算等 高效的描述统计和数据聚合/摘要运算 用于异构数据集的合并/连接运算的数据对齐和关系型数据运算 将条件逻辑表述为数组表达式(而不是带有if-elif-else分支

算法基础之排序(1)--冒泡排序 改进

1 /********************************************************************************************************** 2 * Function : test 3 * Create Date : 2014/03/23 4 * Author : NTSK13 5 * Email : [email protected] 6 * Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性

我眼中的数组和冒泡排序

一维数组 数组是一个定长的容器,可以放相同类型的数据.数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型 专业解释 数组(Array)是一种线性表数据结构.它用一组连续的内存空间,来存储一组具有相同类型的数据.线性表,顾名思义,线性表就是数据排成像一条线一样的结构.每个线性表上的数据最多只有前和后两个方向.数组具有连续的内存空间和相同的数据类型 数组的声明 dataType[] arrayName;注:数组在声明时不能指定数组长度,即dataType[n] arrayName:是不合

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

数组,冒泡排序,简化

//    int array[] = {3, 2, 6, 9, 8, 5, 7, 1, 4}; //    int count = sizeof(array) / sizeof(array[0]); //    int flag = 1; //    for (int i = 0; i < count - 1 && flag == 1; i++) { //        flag = 0; //        for (int j = 0; j < count - i - 1

HTML基础整理(一)

HTLM基础整理--思维导图(标签部分) 其他: <sub>下标</sub>     <sup>上标</sup> 优先级,越往后优先级越高. "right"(右对齐)               "top" (顶部) 对齐方式<tr align="center"(居中) valign="middle"(居中) "left"(左对齐)          

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

[.net 面向对象编程基础] (17) 数组与集合

[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总是举的是具体的实例以加深理解. 本节内容相当具体,学起来也相当轻松. 1.数组 1.1 什么是数组? 数组是一种数据结构,包含同一个类型的多个元素. 1.2数组的初始化 string[] mystringArray; 类型+方框号 数组名 1.3数组初始化 我们知道数组是引用类型,所以需要给他分配堆