动手实现 数据结构 之 “单向链表”

来源:互联网 发布:教学直播软件 编辑:程序博客网 时间:2024/05/01 06:18

 头插入单向链表 C 语言实现

#include <stdio.h>struct node {    int data;    struct node * next;};int main(){    // 头插入链表    // create list    struct node n9[10];    struct node * phead = NULL;    for(int i=9; i>=0; i--) {        n9[i].data = i*i;        n9[i].next = phead;        phead = &n9[i];    }    // insert nd after insertPos    struct node nd; nd.data = 33;    struct node * insertPos = &n9[3];    nd.next=insertPos->next;    insertPos->next = &nd;    // find 81    struct node * pos = phead;    while(pos != NULL) {        if(pos->data == 81) break;        pos = pos->next;    }    if(pos != NULL) printf("find pos->data: %d\n", pos->data);    // delete n9[2];    struct node * deletePos = &n9[9];    if(deletePos->next != NULL)        deletePos->next = deletePos->next->next;    else {        struct node * pos = phead;        while(pos != NULL) {            if(pos->next == deletePos) break;            pos = pos->next;        }        if(pos != NULL) pos->next = pos->next->next;    }    // out put    struct node * ptemp = phead;    while(ptemp != NULL) {        printf("%d ", ptemp->data);        ptemp = ptemp->next;    }    printf("\n");   


0 0
原创粉丝点击