零分歌手


私信TA

用户名:uq_41528185327

访问量:138

签 名:

等  级
排  名 2388
经  验 2331
参赛次数 6
文章发表 1
年  龄 20
在职情况 学生
学  校 成都锦城学院
专  业 软件工程

  自我简介:

解题思路:

注意事项:

参考代码:

#include<bits/stdc++.h>

using namespace std;

typedef struct Node{

    int data;

    struct Node *next;

}node; 

void creat(node *head,int n){//尾 

    for(int i=0;i<n;i++){

    node *tail=(node *)malloc(sizeof(node));

    tail->next=head->next;

    cin>>tail->data;

    head->next=tail;

    }

}

void print(node *head){

    if(head->next==NULL){

    cout<<"Link list is empty"<<endl;

    return ;

    }

    node *p=(node *)malloc(sizeof(node));

    p=head->next;

    while(p){

    cout<<p->data<<' ';

    p=p->next;

    }

    cout<<endl;

}


void get(node *head,int n){

    node *p=(node *)malloc(sizeof(node));

    p=head;

    while(p&&n){

    n--;

    p=p->next;

    }

    if(n>0){

    cout<<"get fail"<<endl;

    return ;

    }

    cout<<p->data<<endl;

}


void insert(node *head,int n,int data){

    node *p=(node *)malloc(sizeof(node));

    p=head,n--;

    while(p->next&&n){

    n--;

    p=p->next;

    }

    if(n>0){

    cout<<"insert fail"<<endl;

    return ;

    }

    node *q=(node *)malloc(sizeof(node));

    q->data=data;

    q->next=p->next;

    p->next=q;

    cout<<"insert OK"<<endl;

}


void Delete(node *head,int n){

    if(head->next==NULL){

    cout<<"delete fail"<<endl;

    return ;

    }

    node *p=(node *)malloc(sizeof(node));

    p=head,n--;

    while(p->next&&n){

    n--;

    p=p->next;

    }

    if(n>0){

    cout<<"delete fail"<<endl;

    return ;

    }

    p->next=p->next->next;

    cout<<"delete OK"<<endl;

}


int main(){

    node *head=NULL;

    head=(node *)malloc(sizeof(node));

    head->next=NULL;

    int n,b,c,d;

    cin>>n; 

    creat(head,n);

    string a;

    cin>>n;

    for(int i=0;i<n;i++){

    cin>>a;

    if(a=="show")

    print(head); 

    else if(a=="delete"){

    cin>>c;

    Delete(head,c);

    }

    else if(a=="get"){

    cin>>c;

    get(head,c);

    }

    else if(a=="insert"){

    cin>>c>>d;

    insert(head,c,d);

    }

}

    return 0;

}


 

0.0分

0 人评分

  评论区

用==判断花费时间大,建议用strcmp
2022-09-28 23:07:29
  • «
  • 1
  • »