hhhaaa
查看原帖
hhhaaa
518549
Xuyucheng2007楼主2023/11/2 17:38
#include <iostream>
using namespace std;
struct st{
	int d,link;
} a[10000];
int head,n;
int ins(int i){
	int p;
	if(a[i].d<=a[head].d){
		a[i].link=head;
		head=i;
	}
	else{
		p=head;
		while(a[p].link!=0&&a[a[p].link].d<a[i].d) p=a[p].link;
		a[i].link=a[p].link;
		a[p].link=i;   
	}
   return 0;	
}
void prt(int k){
	int i;
	for(i=1;i<=k;i++) cout<<a[i].d<<" ";
	cout<<endl;
	for(i=1;i<=k;i++) cout<<a[i].link<<" ";
	cout<<endl;	
}
int main(){
	int i,p;
	cin>>n;
    for(i=1;i<=n;i++)  cin>>a[i].d;
	head=1;
	a[head].link=0; 	
	for(i=2;i<=n;i++) ins(i);
	p=head;
	while(p!=0){
		cout<<a[p].d<<" ";		
		p=a[p].link;
	}
     cout<<endl;
     prt(n); 

   return 0; 	
}
2023/11/2 17:38
加载中...