编写函数,实现插入排序
2016-12-29 16:49
162 查看
插入排序是指,先假定将 n 个元素的数列分为已有序和无序两个部分;然后将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。
使用 JavaScript 编写的插入排序函数如下所示:
测试函数 insertionSort,代码如下:
上述代码运行时,将输出排序后的结果:[3, 4, 9, 12, 21, 43]。
使用 JavaScript 编写的插入排序函数如下所示:
function insertionSort(arr) { //从第二个元素开始 for (var i = 1; i < arr.length; i++) { // 取出待比较的元素 var k = arr[i]; // 向前找,找到比当前元素大的位置 var j; for (j = i - 1; j >= 0 && k < arr[j]; j--) { //向后移动一位 arr[j + 1] = arr[j]; } // 插入元素 arr[j + 1] = k; } }
测试函数 insertionSort,代码如下:
var arr = [12, 4, 9, 21, 43, 3]; insertionSort(arr); console.log(arr);
上述代码运行时,将输出排序后的结果:[3, 4, 9, 12, 21, 43]。
相关文章推荐
- 编写程序:从键盘上输入若干个整数(以输入-1作为结束标识),输出这些数中的最大值和最小值,要求编写一个函数实现最大值和最小值的求取。
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小
- 编写函数实现求余运算
- 问题九:编写函数stringcat,实现字符串的连接,程序中需要使用指针形式访问字符串
- 请编写能直接实现 int atoi(const char * pstr)函数功能的代码
- 编写一个函数,实现两分法查找算法。
- 自己编写函数实现strcmp和strlen的功能。
- 编写实现 函数char *strcat(char *dest ,char *src)
- 编写函数实现“循环”右移
- 编写一个函数实现矩阵的转置运算
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小
- (1423)编写函数实现字符串循环右移n位
- sql 语句 编写一个函数实现将货币值用中文输出,例如12340.56,输出为:壹万二仟叁佰肆拾元伍角六分
- 8、请编写能直接实现 int atoi(const char * pstr)函数功能的代码
- 编写一个函数 输入一串字符 函数实现反转输出(图)
- 编写一个函数,实现接受输入的字符串,然后取反
- 请编写实现malloc()内存分配函数功能一样的代码。给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
- 例1 编写一个函数getbits,实现从一个16位的单元中取出某几位
- 编写函数实现:整型数转换成字符串
- SQLServer 中多列变一行的终极办法,无需编写函数实现