news 2026/6/20 19:37:34

掌握冒泡与选择排序精髓

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
掌握冒泡与选择排序精髓

//冒泡排序:

俩两相比,如果前面大于后面的值这时候交换位置。
//外循环要经过多少轮 一轮找出一个最值
//内循环比较多少次 例如5个数比较4次即可,下一轮的时候 不用和上传最值进行比较,所以写内循环次数可以 这样写list.Count-1-i


List<int> list = new List<int>() { 1,99,2,8,11,20,16,89};
for (int i = 0; i < list.Count-1; i++) // 为啥减-,例如数组的个数为5的话,只需要找出4个最值即可
{
for (int j = 0; j < list.Count-1-i; j++) // 内循环目的是为了要进行比较 并且交换位置
{ // j < list.Count-1-i :之前已经找出最值,下轮没必要和上轮最值进行比较,
if (list[j]>list[j+1]) // 比较相邻位置交换位置 如果前面的大 交换位置
{
int temp = list[j];// 定义一个临时值 存储其中一个值
list[j] = list[j+1];// 把后面的值赋值给前面元素
list[j+1] =temp;// 把temp赋值给数组后面的元素
}
}
}
foreach (var item in list)
{
Console.WriteLine(item+"----");
}


//选择排序:

每一轮找出最值的索引值,根据索引值再进行交换位置,所以交换的次数比冒泡排序的次数少,找出最值把最值放在已经排序的末尾

ArrayList list = new ArrayList() { 100,2,900,100,10,89,88};

for (int i = 0; i < list.Count - 1; i++)
{
int minIndex = i;// 每一轮循环的 把i当成最小值的索引值, 0 1 2 3.4 5..
for (int j = i+1; j < list.Count; j++)
{
if (Convert.ToInt16(list[j]) < Convert.ToInt16(list[minIndex])) // 取出最小值:list[minIndex],如果其中的一个元素比最小值还小,这时候list[j]最小值,
// 记录j的索引值

{
minIndex = j;
}
}
//在内循环外部进行交换位置
if (i!=minIndex) //如果找到的最小的和初始化的赋值的最小的不一样进行交换,
{
//list[minIndex] 和 list[i] 进行交换位置
int temp = Convert.ToInt16(list[i]);
list[i] = list[minIndex]; //最小值赋值给当前遍历的元素 已经排序的末尾
list[minIndex] = temp;
}

}
Console.WriteLine(string.Join (",",list.ToArray())); //join() 把参数2的数组用参数1的符号进行拼接成一个字符串

类 对象 方法 复习以及默认修饰符

//类: 具有相同属性和方法的集合,类就是数据的模版,不包含实际的数据 例如人类、电脑类 狗类 、猫类... //对象:类的实例化,对象才有实际的数据,如:一个人、一只鸟、一只猫、一只金毛、玩家A、玩家B、哥布林、牛头怪 // 类成员:一个类中包含需要的信息(属性)和行为(方法),这些信息我们统称为类成员。类成员用于记录这个类的信息,类成员包含(属性,字段 、方法) // 如:人类应该拥有名字、性别、年龄等属性,应该拥有吃、喝、拉、撒、睡等方法 // 类和对象是面向对象编程语言的一大核心 //2 创建对象语法:类名 对象名 = new 类名(); People zhangsan = new People(); //zhangsan.age 因为age是私有的 不能在外部访问 zhangsan.Name = "李四"; //3 非static的方法使用对象.方法名去调用 zhangsan.Eat(); //4 调用drink方法 People p1 = new People(); p1.Name = "张三"; p1.Drink(); People p2 = new People(); p2.Name = "李四"; p2.Drink(); Console.ReadKey(); } } //修饰符:就是类和属性、字段、方法使用的范围、 //一般类默认修饰符internal , //字段的默认修饰符是private 主要是保证数据的安全性, //属性一般定义public 主要是外部进行访问, // 方法一般定义成public //public:允许类、属性、字段、方法在类的外部进行访问, // private 只能在本类里面访问, //protected 不能在外部访问属性或者字段 //internal :当前项目可以引用该类(后续演示) // 1 定义类语法: 修饰符 class 类名{} public class People { private int age; //字段名一般是小写, 默认是私有的 protected int id;// 受保护的字段 public string Name { get; set; }// 属性 一般定义public 名称是大驼峰命名法则 //定义一个方法 无返回值的方法 public void Eat() { Console.WriteLine("吃炸鸡"); } //定义一个方法, public void Drink() { Console.WriteLine(this.Name+"喝可乐"); //在自己类访问可以省去this ,this代表目前创建的对象 }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 21:37:59

开源3D建模终极指南:三步搞定照片转模型实战技巧

还在为复杂的3D建模软件头疼吗&#xff1f;想要把手机里的照片变成精美的三维模型吗&#xff1f;开源3D建模技术正在彻底改变我们创建三维内容的方式&#xff0c;让每个人都能轻松上手。无论你是设计师、开发者&#xff0c;还是普通爱好者&#xff0c;这篇指南将带你从零开始掌…

作者头像 李华
网站建设 2026/6/19 1:27:18

5分钟搞定!ColorUI组件库让你的小程序开发效率翻倍 [特殊字符]

5分钟搞定&#xff01;ColorUI组件库让你的小程序开发效率翻倍 &#x1f680; 【免费下载链接】coloruicss 鲜亮的高饱和色彩&#xff0c;专注视觉的小程序组件库 项目地址: https://gitcode.com/gh_mirrors/co/coloruicss 还在为小程序界面设计发愁吗&#xff1f;每次都…

作者头像 李华
网站建设 2026/6/19 23:46:49

浙大团队LightMem:AI记忆效率提升百倍

这篇由浙江大学和新加坡国立大学联合研究团队开发的革命性论文发表于2025年&#xff0c;题为《LightMem: Lightweight and Efficient Memory-Augmented Generation》。研究团队由浙江大学的方济涵、邓心乐、徐浩明等多位研究人员&#xff0c;以及新加坡国立大学的邓舒敏教授共同…

作者头像 李华
网站建设 2026/6/18 4:47:04

2026软件测试面试题(持续更新)

前言 转眼2025年招聘季已将到来&#xff0c;没点真本事真技术&#xff0c;没点面试经验&#xff0c;不了解点职场套路&#xff0c;如何过五关斩六将&#xff1f;如何打败面试官&#xff1f;如何拿下那梦寐以求的offer&#xff1f; 如果你的跳槽意向已经很确定&#xff0c;那么…

作者头像 李华
网站建设 2026/6/19 10:02:55

如何在IDEA中偷偷看小说?这款摸鱼神器让你工作阅读两不误!

如何在IDEA中偷偷看小说&#xff1f;这款摸鱼神器让你工作阅读两不误&#xff01; 【免费下载链接】thief-book-idea IDEA插件版上班摸鱼看书神器 项目地址: https://gitcode.com/gh_mirrors/th/thief-book-idea 还在为上班想看书又怕被老板发现而烦恼吗&#xff1f;今天…

作者头像 李华
网站建设 2026/6/18 15:46:05

构建一体化AIGC平台首选:Qwen-Image全能型文生图模型

构建一体化AIGC平台首选&#xff1a;Qwen-Image全能型文生图模型 在广告公司熬夜改稿的设计师、电商平台争分夺秒上新的运营人员、游戏工作室赶工期的概念美术师——这些角色正面临一个共同挑战&#xff1a;如何在极短时间内产出大量高质量视觉内容&#xff1f;传统工作流中&am…

作者头像 李华