tt.c

来自「自己做的常用库和实现的数据结构。public domain.」· C语言 代码 · 共 45 行

C
45
字号
#include<my.h> 
typedef struct s {
	int *ap;
	struct s *next;
} S;
void push(S **sp, int *p)
{
	static size_t cnt = 0;
	S *t = (S *)mem('m', sizeof(S));
	t->ap = p;
	t->next = cnt++ ? *sp : NULL;
	*sp = t;
}
bool stack_empty(S *sp)
{
	return sp != NULL ? false : true;
}
void pop(S **sp)
{
	S *t = *sp;
	if(! stack_empty(*sp)) {
		*sp = (*sp)->next;
		free(t);
	}
}
void gettop(S *sp)
{
	if(! stack_empty(sp))
	printf("%d ", *(sp->ap));
}
int main()
{
	int i, a[10], *p=a;
	S *sp;
	for(i=0; i<10; i++) {
		a[i]=i;
		push(&sp, p++);
	}
	for(i=0; i<20; i++) {
		gettop(sp);
		pop(&sp);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?