1069745273


私信TA

用户名:1069745273

访问量:6610

签 名:

Just do IT.

等  级
排  名 252
经  验 5936
参赛次数 3
文章发表 166
年  龄 0
在职情况 待业
学  校
专  业 计算机科学与技术

  自我简介:

有头结点的单链表,用尾插法导入数据。

#include<bits/stdc++.h>
using namespace std;
 
struct node{
    int data;
    struct node *Next;
};
 
typedef struct node Node;

void tailinsert(int data,Node *L){
    Node *node = (Node*)malloc(sizeof(Node));
    node->data = data;
    node->Next = NULL;
    if(L->data==0){
        L->Next = node;
        L->data++;
    }
    else{
        Node *temp = L->Next;
        while(temp->Next!=NULL){
            temp = temp->Next;
        }
        temp->Next = node;
        L->data++;
    }
}

void printlist(Node *L){
    Node *temp = L->Next;
    if(temp==NULL){
        printf("Link list is empty\n");
        return;
    }
    while(temp!=NULL){
        printf("%d ",temp->data);
        temp = temp->Next;
    }
    printf("\n");
}
 
void deletenode(int data,Node *L){
    Node *temp = L;
    Node *t;
    while(temp->Next!=NULL){
        if(temp->Next->data==data){
            t = temp->Next;
            temp->Next = t->Next;
            t->Next = NULL;
            free(t);
            L->data--;
            continue;
        }
        temp = temp->Next;
    }
}
 
int main() {
    Node *headnode = (Node*)malloc(sizeof(headnode));
    Node *head = headnode;
    head->data = 0;
    head->Next = NULL;

    int n,x,del;
    cin >> n;
   
    for(int i=0;i<n;i++){
        cin >> x;
        tailinsert(x,head);
    }

    cin >> del;

    deletenode(del,head);

    printlist(head);

    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »