单链表反转实现
来源:互联网 发布:网校源码第三方 编辑:程序博客网 时间:2024/04/29 00:08
struct link
{
struct link *next;
int data;
};
struct link *g_list = 0;
int link_init(struct link ** head)
{
int i = 0;
struct link *p = *head;
struct link *tmp = 0;
p = malloc(sizeof(struct link));
p->data = 0;
p->next = 0;
for(i = 0; i < 10; i ++)
{
tmp = malloc(sizeof(struct link));
memset(tmp, 0, sizeof(struct link));
tmp->data = 2*i + 1;
tmp->next = p;
p=tmp;
}
*head = p;
return 0;
}
void link_print(struct link *head)
{
int count = 0;
struct link *p = head;
printf("the link data is :/r/n");
while(p != 0)
{
printf("%2u ", p->data);
p = p->next;
count++;
}
printf("/r/ntotol count = %u/r/n", count);
}
void link_reverse(struct link **head)
{
struct link * p = *head;
struct link *q = p->next;
struct link *r = 0;
while(q != 0)
{
r = q->next;
q->next = p;
p = q;
q = r;
}
(*head)->next = 0;
*head = p;
}
void link_free(struct link *head)
{
struct link *p = head;
struct link *tmp = 0;
while(p != 0)
{
tmp = p->next;
free(p);
p=tmp;
}
}
int main()
{
link_init(&g_list);
link_print(g_list);
link_reverse(&g_list);
link_print(g_list);
getchar();
link_reverse(&g_list);
link_print(g_list);
getchar();
link_free(g_list);
}
- 单链表反转实现
- 单链表的反转实现
- 单链表反转python实现
- 单链表实现反转
- Java实现单链表反转
- 单链表反转 c实现
- 编程实现单链表反转。
- Java实现反转单链表
- 单链表反转的实现
- 单链表反转python实现
- 实现单链表的反转
- 单链表反转--Java实现
- Java实现单链表反转
- java实现单链表反转
- java 实现单链表反转
- Java实现单链表反转
- 单链表的反转java实现
- 单链表的反转实现(C++)
- 连接池例子
- 豆丁上面的clearcase文章
- 渴望改变
- 75个逻辑推理题
- 一些很有用的BAT命令[不断收集中..]
- 单链表反转实现
- OllyDBG 入门系列(二)-字串参考
- OllyDBG 入门系列(三)-函数参考
- OllyDBG 入门系列(四)-内存断点
- OllyDBG 入门系列(五)-消息断点及 RUN 跟踪
- Goole Font API
- 汇编常用知识整理
- 汇编
- 开发命令行程序的好帮手——“/b”