学完C语言有好长时间了,我觉得应该把C中一些常用的函数总结一下,这即是对知识的恐固,也能在其中发现自己的不足.
以下代码实现创建堆栈功能:
#include
#define LEN sizeof(struct integer)
struct integer
{
int id;
struct integer *next;
};
struct integer *create(int);
void display(struct integer *);
void main()
{
int n,selection,m;
struct integer *startPtr;
printf("请输入堆栈中的结点数:\n");
scanf("%d",&n);
startPtr = create(n);
printf("创建的堆栈是:\n");
display(startPtr);
}
void display(struct integer *ptr)
{
int i = 1;
do
{
printf("第 %3d 个结点中的值 %6d\n",i,ptr->id);
ptr = ptr->next;
i++;
}while (ptr != NULL);
printf("\n");
}
struct integer *create(int m)
{
struct integer *head,*ptr;
int i;
for (i = 1; i <= m; i++)
{
ptr = (struct integer *) malloc(LEN);
if (ptr == NULL)
{printf("无法分配内存\n");return(NULL);}
else
{
ptr->id = i;
if (i == 1)
{
ptr->next = NULL;
head = ptr;
}
else
{
ptr->next = head;
head = ptr;
}
}
}
return (head);
}
阅读(1803) | 评论(0) | 转发(0) |