데이터 구조 상의 테스트 2 - 2: 단일 체인 시트 조작 B SDUT - 1139
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
데이터 입력 의 반대 순서 (역 위 순서) 에 따라 단일 체인 표를 만 들 고 단일 체인 표 에서 중복 되 는 요 소 를 삭제 합 니 다 (값 이 같은 요 소 는 마지막 입력 의 하나 만 유지 합 니 다).
Input
첫 번 째 줄 에 원소 개수 n 입력 하기;두 번 째 줄 에 n 개의 정 수 를 입력 하 세 요.
Output
첫 번 째 줄 출력 초기 링크 요소 갯 수;두 번 째 줄 의 출력 은 역순 에 따라 만들어 진 초기 링크 입 니 다.세 번 째 줄 출력 에서 중복 요 소 를 삭제 한 후의 단일 체인 표 요소 갯 수;네 번 째 줄 출력 은 중복 요 소 를 삭제 한 단일 체인 시트 입 니 다.
Sample Input
10
21 30 14 55 32 63 11 30 55 30
Sample Output
10
30 55 30 11 63 32 55 14 30 21
7
30 55 11 63 32 14 21
Hint
Source
#include #include #include
struct node { struct node *next; int data; }*head, *tail, *p, *q; struct node *creat(int n) { int i; struct node *head, *p; head=(struct node*)malloc(sizeof(struct node));head -> next = NULL; for(i = 0; i < n; i++) { p = (struct node*)malloc(sizeof(struct node)); scanf("%d", &p->data); p -> next = head -> next;head -> next = p; } return head; }; void show (struct node *head) { struct node *t; t = head -> next; while(t) { if(t -> next != NULL)printf("%d ", t -> data); else printf("%d", t -> data); t = t -> next; } } int main() { int n; scanf("%d", &n);head = creat(n); printf("%d", n);show(head); p = head -> next; while(p != NULL) { tail = p;q = p -> next; while(q != NULL) { if(q -> data == p -> data) { tail -> next = q -> next;q = tail -> next;n--; } tail = tail -> next;q = q->next; } p = p-> next; } printf("%d", n);show(head); return 0; }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.