`
hufeng
  • 浏览: 100986 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

读入若干整数 以-9999结束,再以从小到大次序输出,每行10个元素

阅读更多
#include "stdlib.h"
#include "stdio.h"
/*读入若干整数 以-9999结束,再以从小到大次序输出,每行10个元素*/

typedef struct link
{
	int d;
	struct link *next;
}Link,*PLink;

void insertSort(PLink *h)
{
	PLink f,p;
	int n;
	if(*h==NULL)
	{
		*h=(PLink)malloc(sizeof(Link));
		(*h)->next=NULL;
	}
	printf("please input:\n");

	do{
		scanf("%d",&n);
		if(n==-9999)return;
		p=(PLink)malloc(sizeof(Link));
		p->d=n;
		p->next=NULL;


		f=*h;
		while(f->next&&f->next->d<n)f=f->next;//f指向待插入节点的前节点
		p->next=f->next;
		f->next=p;
	}while(9);
}
void printLink(PLink h)
{
	int i=1;
	PLink p;
	p=h;
	if(h==NULL)
	{
		printf("no list\n");return;
	}
	while(p=p->next)
	{
		printf("%-3d",p->d);
		if(i++%10==0)printf("\n");
	}
}
void main()
{
	PLink p=NULL;
	insertSort(&p);
	printLink(p);
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics