|
发表于 2018-9-27 01:28:51
|
显示全部楼层
姐姐,弄了一个双指针的链表给你- #include <stdio.h>
- #include <stdlib.h>
- typedef struct LNODElist
- {
- int data;
- struct LNODElist *next;
- }St;
- void reverselist(St **list);
- void initlist(St **list);
- void print(St *list);
- int main(void)
- {
- St *l = NULL;//重点是这个,创建的变量是结构还是指针
-
- initlist(&l);
- print(l);
- reverselist(&l);
- print(l);
- return 0;
-
- }
- void initlist(St **list)
- {
- int i;
- St *pNew;
-
- for(i = 10; i > 0; i--)
- {
- pNew = (St *)malloc(sizeof(St));
- pNew->data = i;
- printf("%d ", pNew->data);
- pNew->next = *list;
- *list = pNew;
- }
- printf("\n");
- }
- void reverselist(St **list)
- {
- St *prev = NULL, *curr = *list, *succ;
-
- while( curr )
- {
- succ = curr->next;
- curr->next = prev;
- prev = curr;
- curr = succ;
- }
- *list = prev;
- }
- void print(St *list)
- {
- St *temp = list;
- while( temp )
- {
- printf("%d ", temp->data);
- temp = temp->next;
- }
- printf("\n");
- }
复制代码 |
|