直接插入法主函数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://myzitong.com/article/hicpss.html