Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1306799
  • 博文数量: 213
  • 博客积分: 7590
  • 博客等级: 少将
  • 技术积分: 2185
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-31 17:31
个人简介

热爱开源,热爱linux

文章分类

全部博文(213)

文章存档

2018年(4)

2017年(1)

2015年(1)

2014年(5)

2013年(2)

2012年(2)

2011年(21)

2010年(82)

2009年(72)

2008年(23)

分类: LINUX

2008-11-15 20:33:03

学完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);
}

阅读(1800) | 评论(0) | 转发(0) |
0

上一篇:在链表中删除结点

下一篇:起泡法排序

给主人留下些什么吧!~~