直接插入排序的递归与非递归实现
来源:互联网 发布:linux 关闭所有防火墙 编辑:程序博客网 时间:2024/06/06 14:25
递归实现:
代码:
#include<iostream>using namespace std;void DirectInsertSort(int *arr, int length){if (length == 1)return;DirectInsertSort(arr, length-1);int temp = arr[length-1];int j=length-2;for (; j>=0&&temp<arr[j]; j--)arr[j+1] = arr[j];arr[j+1] = temp;}int main(){int arr1[10] = {5,6,1,8,3,6,7,5};DirectInsertSort(arr1,8);for (int i=0; i<8; i++)cout << arr1[i] << " ";cin.get();cin.get();return 0;}
运行结果:
非递归实现:
代码:
#include<iostream>using namespace std;void DirectInsertSort(int *arr, int length){int i,j,key;for (i=1; i<length; i++){key = arr[i];for (j=i-1; j>=0&&key<arr[j]; j--)arr[j+1] = arr[j];arr[j+1] = key;}}int main(){int arr1[10] = {5,6,1,8,3,6,7,5};DirectInsertSort(arr1,8);for (int i=0; i<8; i++)cout << arr1[i] << " ";cin.get();cin.get();return 0;}
运行结果:
- 直接插入排序的递归与非递归实现
- 直接插入排序的实现(递归和非递归)
- mips程序设计——直接插入排序的递归与非递归实现(spim模拟)
- 直接插入排序(递归与非递归2种实现方法)
- 递归与非递归插入排序
- 归并排序的递归实现与非递归实现
- 归并排序的递归实现与非递归实现
- 全排序的递归与非递归的实现
- 快速排序递归与非递归实现
- 归并排序 递归与非递归实现
- 归并排序递归与非递归实现
- 快速排序的递归与非递归实现
- 归并排序递归与非递归的实现
- 归并排序(递归与非递归)的实现
- 链表归并排序的递归与非递归实现
- 归并排序的递归与非递归实现Java
- 快速排序的递归与非递归实现
- 插入排序c递归实现和非递归实现
- Google Dremel 原理 - 如何能3秒分析1PB
- hadoop摘抄(二)
- FreeType 2 教程(一)——《The FreeType 2 Tutorial》第一部分中译版
- skia win32最小环境搭建
- 哈弗曼编码的c语言实现代码
- 直接插入排序的递归与非递归实现
- java多叉树的实现类,完成树的初始化和遍历
- 《程序员》 -- 十年创业之心得
- typedef定义数组: typedef UCHAR IFIMSIDATA[IF_IMSI_LEN]; 在被调函数中的使用
- Magento Eav数据的查询
- Senior Admin Assistant - 2013/10/14
- linux下C 编程学习之多进程编程(一)
- FreeType 2 教程——《The FreeType 2 Tutorial》——第二部分中译版
- hadoop摘抄(三)