#include<iostream>
using namespace std;
struct Node{
int val;
Node *next;
Node(){
val=-1;
next=nullptr;
}
Node(int v,Node *n){
val=v;
next=n;
}
Node(int v){
val=v;
next=nullptr;
}
};
Node* init(){
Node *head=new Node();
return head;
}
void add(Node *head,int c){//头插法
Node *t=new Node(c);
t->next=head->next;
head->next=t;
cout<<"add success"<<endl;
}
void add1(Node *head,int c){//尾插法
Node *t=new Node(c);
Node *temp=head;
while(temp->next){
temp=temp->next;
}
temp->next=t;
}
void dele(Node *head,int idx){
if(idx==0)head=head->next;
Node *t=head;
int i=0;
while(t!=nullptr&&i<idx-1){
t=t->next;
i++;
}
Node *ab=t->next;
t->next=t->next->next;
delete(ab);
cout<<"delete success"<<endl;
}
void prin(Node *head){
Node *t=head->next;
while(t){
cout<<t->val<<" ";
t=t->next;
}
}
int find(Node *head,int idx){
Node *t=head;
for(int j=0;t&&j<=idx;t=t->next,j++){
if(j==idx)return t->val;
}
return -1;
}
int main(){
Node *head=init();
add1(head,1);
add1(head,2);
//dele(head,2);
add1(head,3);
prin(head);
cout<<find(head,3)<<endl;
return 0;
}
09-08
147