完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序

#include <stdio.h>
#include <malloc.h>

int main(void)
{
int i, n;
double s = 1.3;
double x;
double *p;

p = (double *)malloc(sizeof(double) * 100);
for (n = 0; n < 50; n++)
{
	*(p + n) = s;
	s += 2.9;
}

scanf("%lf", &x);			//第18行代码
//完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序
//注:已经写入了50个元素,再插入1个,就是51个元素
//begin
for(i=0;i<50;i++)
{
	while(*(p+i)<=x)
		i++;
	for(n=49;n>i-1;n--)
	{
		*(p+n+1)=*(p+n);
	}
	*(p+i)=x;
	break;
}
//end

//插入x后,输出该顺序有序线性表的内容
for (i = 0; i < 51; i++)
{
	printf("%5.1f, ", p[i]);
	if ((i + 1) % 10 == 0)
	{
		printf("\n");
	}
}
return 0;

}

posted @ 2018-09-23 19:27  zw1sh  阅读(374)  评论(0编辑  收藏  举报