突然想到,于是写了一段代码,但是……完全想不到该怎么释放内存
这代码就是突然间想到,然后……写了这么一段,所以请不要在意它是干什么的。
程序代码:#include <stdio.h>
#include <stdlib.h>
struct shuzi {
int n;
int count;
struct shuzi * p;
};
struct shuzi * digui(int n,struct shuzi *q);
void PRINTF(struct shuzi *p);
int main(void)
{
struct shuzi *q;
int n;
q = NULL;
while(scanf("%d",&n) == 1)
q = digui(n,q);
PRINTF(q);
return 0;
}
struct shuzi * MALLOC(void);
struct shuzi * digui(int n,struct shuzi *q)
{
if(q == NULL)
{
q = MALLOC();
q->n = n;
q->count = 1;
q->p = NULL;
}
else if(q->n == n)
q->count++;
else
q->p = digui(n,q->p);
return q;
}
struct shuzi * MALLOC(void)
{
return (struct shuzi *)malloc(sizeof(struct shuzi));
}
void PRINTF(struct shuzi *p)
{
if(p != NULL)
{
PRINTF(p->p);
printf("%d %d\n",p->n,p->count);
}
}[此贴子已经被作者于2017-2-14 23:17编辑过]







