2026/5/13 19:22:15
网站建设
项目流程
网站建设公司怎么盈利,crm管理系统app,网站如何查看浏览量,首页设计网站 专注《冒泡排序和选择排序》冒泡排序#xff1a;冒泡排序#xff1a;两两相比#xff0c;如果前面大于后面的值交换位置外循环要经过多少轮比较 一轮找出一个最值内循环比较多少次 例如5个数比较4次即可 下一轮的时候 不用和上传最值进行比较#xff0c;所以写内循环次数可以 这…《冒泡排序和选择排序》冒泡排序冒泡排序两两相比如果前面大于后面的值交换位置外循环要经过多少轮比较 一轮找出一个最值内循环比较多少次 例如5个数比较4次即可 下一轮的时候 不用和上传最值进行比较所以写内循环次数可以 这样写list.Count-1-iListint list new Listint() { 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; j) //内循环目的是为了要进行比较并且交换位置// jlist.Count-1-i:之前已经找出最值下轮没必要和上轮最值进行比较{if (list[i] list[j 1])//比较相邻位置交换位置 如果前面的大 交换位置{int templist[i]; //定义一个临时值 存储其中一个值list[j]list[j1];//把后面的值赋给前面元素list[j1]temp;//把temp赋值给数组后面的元素}}}foreach (var item in list){Console.WriteLine(item------);}选择排序ArrayList list new ArrayList() {1,2,9,7,10,89,88 };选择排序:每一轮找出最值的索引值根据索引值再进行交换位置所以交换的次数比冒泡排序的次数少找出最值 把最值放在已经排序的末尾for (int i 0; i list.Count-1; i){int minIndex i;//每一轮循环的把i当成最小值的索引值for (int j i1; jlist.Count;j)//list[i]{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的符号进行拼接成一个字符串