求助! 链表做法
查看原帖
求助! 链表做法
815504
chenwenmo楼主2024/3/24 17:17

样例都过了 但出不去循环

#include<bits/stdc++.h>
using namespace std;
int n, now, cnt;
struct node{
	int val, id;
	node *next;
};
node *head, *tail, *p, *temp;
int main(){
	cin >> n;
	int x;
	cin >> x;
	head = new node;
	head -> id = 1;
	head -> val = x;
	head -> next = NULL;
	tail = head;
	for(int i = 2; i <= n; i++){
		cin >> x;
		p = new node;
		p -> val = x;
		p -> id = i;
		p -> next = NULL;
		tail -> next = p;
		tail = p;
	}
	while(true){
		if(cnt >= n) break;
		temp = new node;
		temp -> next = head;
		now = -1;
		while(temp -> next -> val != now && temp -> next != NULL){
			now = temp -> next -> val;
			cout << temp -> next -> id << ' ';
			temp -> next = temp -> next -> next;
			cnt++;
		}
		head = temp -> next;
		while(temp -> next != NULL){
			if(temp -> next -> val != now){
				now = temp -> next -> val;
				cout << temp -> next -> id << ' ';
				temp -> next = temp -> next -> next;
				cnt++;
			}else{
				temp = temp -> next;
			}
		}
		cout << endl;
	}
	return 0;
}
2024/3/24 17:17
加载中...