在C中,可以实现和修改链表,以便将数据存储在列表的每个节点中,而是与节点分开。节点内的指针指向数据?
最佳答案
答案是肯定的。只是不是将键保存在节点中,而是存储指向键的指针:
#include <stdio.h>
#include <stdlib.h>
typedef struct s_ListNode {
struct s_ListNode *next;
int *pointer;
} ListNode;
main() {
int a = 3, b = 5;
ListNode *root = malloc(sizeof(ListNode));
ListNode *tail = malloc(sizeof(ListNode));
ListNode *iter;
root->next = tail;
root->pointer = &a;
tail->next = NULL;
tail->pointer = &b;
for(iter=root; iter!=NULL; iter=iter->next) {
printf("%d\n", *iter->pointer);
}
return 0;
}
关于c - 实现数据独立的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843970/