Xpand


私信TA

用户名:Xpand

访问量:3555

签 名:

等  级
排  名 1891
经  验 2579
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校 共青科技职业学院
专  业

  自我简介:

解题思路:
用链表写了一串
注意事项:

参考代码:

#include<stdio.h>
#include<malloc.h>
typedef struct list
{
	int date;
	struct list *pext;	
}NODE,*LIST;
LIST create();
void repeat(LIST phead);
void sort(LIST phead);
void count(LIST phead);
void print(LIST phead);
int main()
{
	LIST phead;
	phead=create();
	repeat(phead);
	sort(phead);
	count(phead);
	print(phead);
	return 0;
}
LIST create()
{
	int i,val,len;
	LIST phead=(LIST)malloc(sizeof(NODE));
	LIST arrow=phead;
	arrow->pext=NULL;
	scanf("%d",&len);
	for(i=0;i<len;i++)
	{
		LIST pnew=(LIST)malloc(sizeof(NODE));
		scanf("%d",&val);
		pnew->date=val;
		arrow->pext=pnew;
		pnew->pext=NULL;
		arrow=pnew;
	}
	return phead;
}
void repeat (LIST phead)
{
	LIST p,q,l,k;
	for(p=phead->pext;p!=NULL;p=p->pext)
	{
		for(q=p->pext,l=p;q!=NULL;)
		{
			if(p->date==q->date)
			{
				k=q;
				if(q->pext!=NULL)
				{
				l->pext=q->pext;
				q=q->pext;
				}
				else
				{
					l->pext=q->pext;
					break;
				}
				free(k);
			}
			else
			{
				q=q->pext;
				l=l->pext;
			}

		}
	}
}
void sort(LIST phead)
{
	int t;
	LIST q,p;
		for(p=phead->pext;p!=NULL;p=p->pext)
	{
		for(q=p->pext;q!=NULL;q=q->pext)
		{
			if(p->date>q->date)
			{
				t=p->date;
				p->date=q->date;
				q->date=t;
			}
		}
	}
}
void count(LIST phead)
{
	int len=0;
	LIST p=phead->pext;
	while(p!=NULL)
	{
		len++;
		p=p->pext;
	}
	printf("%d\n",len);
}
void print(LIST phead)
{
	LIST p=phead->pext;
	while(p!=NULL)
	{
		printf("%d ",p->date);
		p=p->pext;
	}
}


 

0.0分

0 人评分

  评论区

  • «
  • »