数据结构与算法
渣娃-小晴晴
渣娃.晴
展开
-
十大排序算法与代码
排序算法选择排序插入排序冒泡排序希尔排序归并排序快速排序计数排序选择排序/** * 选择排序 - (时间复杂度 n2) - (空间复杂度 1) - 不稳定 : * 记录当前 未排序部分 最小值的 下标 , * 然后,与正确位置处的值进行交换。 */public class 选择排序 { private static void sort(int[] nums){ int minIndex = 0; //记录当前 未排序部分 最小值的 下标 for (原创 2022-04-11 23:25:01 · 303 阅读 · 0 评论 -
合并两个有序数组
已知:给定两个有序数组(升序)int[] a = {2,3,5,7,8,9};int[] b = {0,1,2,4,6,7};要求:将 有序数组 a、b 合并为一个 有序数组 c。分析:1.首先创建一个长度等于 数组a、b之和的数组c,作为存储合并后结果的最终数组。2.合并两个有序数组:就是把两个有序数组的全部内容,按照既定顺序,整合排列为一个新的有序数组。思路:1>.借助一个for循环,以变量 index 作为循环变量,同时作为数组c的下标索引值,故for循环边界为:( ind原创 2021-08-16 17:11:54 · 770 阅读 · 0 评论 -
两个数的值交换
例:int a = 1;int b = 2;一、利用 一个中间变量缺点:浪费 多余空间。int c;c = a; //用 中间变量c ,复制一份 a 的值。a = b; //把 b 的值传给 变量a。(此时,变量a 内存的是 b 的值 )b = c; //把 c 内存储的 a的值 ,传给 变量b。(实现 变量b 存 a 的值 )二、利用 和差运算 ,完成交换缺点:第一步求和时,可能会出现 值溢出 的 运算错误。a = a + b; //将 a 和 b 的和,赋值给变量a。(首原创 2021-08-07 23:27:17 · 125 阅读 · 0 评论