#include <iostream>
using namespace std;
struct s {
int a;
s* pre;
s* next;
};
s* newNode(int a) {
s* ss = (s*)malloc (sizeof(s));
ss->a = a;
ss->next = NULL;
ss->pre = NULL;
return ss;
}
s* head;
void create() {
head = newNode(1);
}
void output() {
s* ss = head;
while (ss) {
//TODO
cout << ss->a << " ";
ss = ss->next;
}
}
void insert(s* pr, int a) { //插入一个节点
s*ss = newNode(a);
ss->next = pr->next;
ss->pre = pr;
if (ss->next != NULL) ss->next->pre = ss;
pr->next = ss;
}
s* find(int a) {
s * ss = head;
while (1) {
//TODO
if (ss->a == a) {
return ss;
}
ss = ss->next;
}
return NULL;
}
void dele(s* ss) {
ss->pre->next = ss->next;
if (ss->next != NULL) ss->next->pre = ss->pre;
}
int main() {
create();
for (int i = 0; i < 10; i++) {
insert(head, i);
}
s * ss = find(7);
dele(ss);
output();
return 0;
}
链表常用功能的实现以及使用示例(main)
最新推荐文章于 2024-07-22 09:38:37 发布