网站建设包含,现在建网站多少钱,网站建设公司官方网站,大连龙采做网站行不行一、基本理解
插入排序(nsertion Sort)#xff0c;一般也被称为直接插入排序#xff0c;是一种简单直观的排序算法。 **工作原理#xff1a;**将待排列元素划分为「已排序」和「未排序」两部分#xff0c;每次从「未排序的」元素中选 择一个插入到「已排序的」元素中的正确…一、基本理解
插入排序(nsertion Sort)一般也被称为直接插入排序是一种简单直观的排序算法。 **工作原理**将待排列元素划分为「已排序」和「未排序」两部分每次从「未排序的」元素中选 择一个插入到「已排序的」元素中的正确位置。
二、题目练习
1619. 删除某些元素后的数组均值
void insertSort(int * n, int size) {int i, j;for(i 1; i size; i) {int temp n[i];for(j i - 1; j 0; --j) {if(temp n[j]) {n[j 1] n[j];}else {break;}}n[j 1] temp;}
}double trimMean(int* arr, int arrSize) {insertSort(arr, arrSize);int cnt arrSize / 20;double ans 0;for(int i cnt; i arrSize - cnt; i) {ans arr[i];}return ans / (arrSize - 2*cnt);
}1491. 去掉最低工资和最高工资后的工资平均值
// 选择排序
void insertSort(int * a, int n) {// 正序出发for(int i 1; i n; i) {int temp a[i];int j i - 1;while(j 0 temp a[j]) {a[j 1] a[j];j--;}a[j 1] temp;}
}double average(int* salary, int salarySize) {insertSort(salary, salarySize);double ans 0;for(int i 1; i salarySize - 1; i) {ans salary[i];}return ans / (salarySize - 2);
}1984. 学生分数的最小差值
void insertSort(int * a, int n) {int i, j;for(i 1; i n; i) {int temp a[i];for(j i - 1; j 0; --j) {if(temp a[j]) {a[j 1] a[j];} else {break;}}a[j 1] temp;}
}int minimumDifference(int* nums, int numsSize, int k) {insertSort(nums, numsSize);int ret 100001;for(int i 0; i k - 1 numsSize; i) {int cha nums[i k - 1] - nums[i];if(ret cha) {ret cha;}}return ret;
}