0
点赞
收藏
分享

微信扫一扫

删除相同元素(线性表)

Problem G: 删除相同元素(线性表)

Time Limit: 1 Sec   Memory Limit: 128 MB

Submit: 921  

Solved: 631

[

Submit][

Status][

Web Board]


Description


(线性表)在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。


Input


输入长度:6

输入数据:2 3 4 5 5 7


Output


2 3 4 5 7


Sample Input

6
8 9 10 11 22 22

Sample Output

8 9 10 11 22

HINT


[ Submit][

Status][

Web Board]


한국어 中文 فارسی English ไทย
Anything about the Problems, Please Contact Admin:admin
All Copyright Reserved 2010-2014 HUSTOJ TEAM
GPL2.0 2003-2014 HUSTOJ Project TEAM
Help Maunal

#include <stdio.h>
#include <stdlib.h>


typedef struct node{
	
	int date ;
	struct node *next ;
	
}Node;
Node *creat_list(int n)
{
	Node *head =NULL ;
	Node *last ;
	Node *p;
	int i ,m ;
	for(i=0;i<n ;i++)
	{
		scanf("%d",&m);
		p=(Node* )malloc(sizeof(Node));
		p->date =m ;
		p->next =NULL ;
		if(head==NULL)
		{
			head=p;
		}
		else
		{
			last->next =p ;
		}
		last=p;
		
	}
	return head ;
	
	
 } 
 void show(Node *head)
 {
 	Node *p = head ;
 	while(p)
 	{
 		printf("%d ",p->date);
 		p=p->next ;
 		
	 }
 	printf("\n");
 	
 }
Node *quchong(Node *head)
{
	Node *p1 ;
	Node *p2=head;
	do{
		p1=p2;
		p2=p2->next ;
		if(p2->date==p1->date)
		{
			p1->next =p2->next ;
		}
		
	}while(p2->next!=NULL);
	return head;
	
}
int main(int argc, char *argv[]) {
	
	Node *head =NULL;
	
	int n ,b;
	scanf("%d",&n);
	head =creat_list(n);
quchong(head);
	show(head);

	return 0;
}



举报

相关推荐

0 条评论