📄 heap-scalestress.c
字号:
/* zz30 * * demonstrate a splay-tree depth problem*/#include <stdlib.h>#include <stdio.h>#include <unistd.h>#ifndef SCALE#define SCALE 100000#endifstruct list{ struct list *next;};intmain (){ struct list *head = NULL; struct list *tail = NULL; struct list *p; long n; int direction; for (direction = 0; direction < 2; direction++) { fprintf (stdout, "allocating\n"); fflush (stdout); for (n = 0; n < SCALE; ++n) { p = malloc (sizeof *p); if (NULL == p) { fprintf (stdout, "malloc failed\n"); break; } if (direction == 0) { /* add at tail */ p->next = NULL; if (NULL != tail) tail->next = p; else head = p; tail = p; } else { /* add at head */ p->next = head; if (NULL == tail) tail = p; head = p; } } fprintf (stdout, "freeing\n"); fflush (stdout); while (NULL != head) { p = head; head = head->next; free (p); } } fprintf (stdout, "done\n"); fflush (stdout); return (0);}/* { dg-output "allocating.*freeing.*allocating.*freeing.*done" } */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -