直接插入法主函数c语言 c语言主函数里面可以写函数吗
C语言数组中插入元素的函数
void insert( int a[ ], int n, int number )
成都创新互联专注于嘉禾企业网站建设,响应式网站建设,商城网站制作。嘉禾网站建设公司,为嘉禾等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
{
for (int i=0;in;i++)
{
if (a[i]number)
continue;
else
{
for (int j=n;ji;j--)
{
a[j]=a[j-1];
}
a[i]=number;
break;
}
}
if (i==n)
a[i]=number;
}
C语言,直接插入法。
一个示例程序:
//---------------------------------------------------------------------------
#include stdio.h
int main(void)
{
int a[255];
int k,i,j,t;
printf("输入要比较的个数");
scanf("%d",k);
printf("输入要比较的数的值");
for(i=0;ik;i++)
scanf("%d",a[i]);
for (i = 0; ik; i++) {/*直接插入排序*/
j=i-1;
t=a[i];
while (j=0ta[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
for (i = 0; ik; i++) {/*输出排序后的结果*/
printf("%d ",a[i]);
}
return 0;
}
//---------------------------------------------------------------------------
C语言直接插入法排序 请帮我分析
对数组A[0...n]中的数进行升序排序。
1.创建与数组A相同大小的数组B[0...n]
2.将A[0]放入B[0]
3.将A[1]与B[0]比较,若A[1]B[0],则将A[1]插入到B[1],否则,B[0]移到B[1],A[1]插入B[0]
4.依次类推,将A[i]与B[i-1]进行比较,i为从1到n。若A[i]B[i-1],则将A[i]插入到B[i]位置,否则,A[i]依次与B[i-1]、B[i-2]...B[0]进行比较,直到找出最大的t,使A[i]B[t],则将A[i]插入到B[t+1]位置,B[t+1]...B[i-1]依次后移一个位置。
空间复杂度为O(n),时间复杂度为O(n^2)
分享题目:直接插入法主函数c语言 c语言主函数里面可以写函数吗
链接地址:http://ybzwz.com/article/hicpss.html