递归实现出入排序(C语言)
来源:互联网 发布:大非农数据公布时间 编辑:程序博客网 时间:2024/04/29 17:47
#include<stdio.h>
void Insert(int *a,int n)//把数组a的第n个数插入前n-1个数中,注意前n-1个数已经是排好序的了
{
int i=n-1;
int key=a[n];
while((i>=0)&&(key<a[i]))
{
a[i+1]=a[i];
i--;
}
a[i+1]=key;
return;
}
void InsertionSort(int *a,int n)//递归插入,跟求阶乘的思想一样,前n-1个排好序的数组,是建立在前n-2个排好序的数组的基础上插出来的
{
if(n>0)
{
InsertionSort(a,n-1);
Insert(a,n);
}
else
return;
}
void main()
{
int i,n,a[50];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
InsertionSort(a,n-1);
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return;
}
0 0
- 递归实现出入排序(C语言)
- C语言实现出入栈操作
- 快速排序C语言实现(递归)和希尔排序
- 算法导论:堆排序递归实现 (c语言)
- 算法导论:堆排序非递归实现(c语言)
- 堆排序(非递归版)-- c语言实现
- 归并排序递归实现C语言
- 归并排序非递归实现C语言
- 归并排序 递归法 C语言 实现
- 顺序栈的(创建、出入栈、取栈顶、判断栈空)C语言实现
- 【C语言】递归实现。
- C语言实现-递归
- 【算法】归并--C语言实现归并排序递归算法
- C语言的快速排序算法代码-递归实现
- 快速排序c语言递归和栈实现
- 【C语言】递归实现栈的逆序及排序
- 归并排序(递归版本)C实现~
- 排序(C语言实现)
- 使用类来进行访问相关的变量
- CodeCademy | Python | 3. Strings & console output
- 设置VMWARE通过桥接方式使用主机无线网卡上网
- cURL特性之批处理
- uiscrollview中使用UIEdgeInsets后。
- 递归实现出入排序(C语言)
- 蛋的阶乘
- java中Map的遍历
- State of Peer-to-Peer Communication across NAT(rfc5128中文)
- 迅雷与迅雷看看播放器使用体验(三)
- Resource is not public
- 关于算法单元测试的思考
- hdu 2181 哈密顿绕行世界问题
- js解析XML 浏览器兼容