Chinaunix首页 | 论坛 | 博客
  • 博客访问: 613325
  • 博文数量: 144
  • 博客积分: 5037
  • 博客等级: 大校
  • 技术积分: 1581
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-30 21:49
文章存档

2010年(16)

2009年(128)

分类: WINDOWS

2009-04-10 21:21:51

文件: student MIB0.01源码.zip
大小: 61KB
下载: 下载
/*================================
 文件名: insert.c
 功能: 插入有序链表
 参数:     无
 返回值: 建链表的首地址
 =================================*/
#include "main.h"

TYPE *insert() //新节点插入有序链表 (由小到大)
{
    TYPE *p; //保存当前当需要检测的节点地址
    TYPE *temp; //临时指针变量
    TYPE *Node = (TYPE *)malloc(sizeof(TYPE));
    
    printf("请输入学号: ");
    scanf("%d", &Node->num);
    printf("请输入姓名: ");
    scanf("%s", Node->name);

    if(head == NULL)
    {
        head = Node;
        Node->next = NULL;    
        Node = NULL; //防止野指针
    }
    else
    {
        p = head;
        while( p != NULL && p->num < Node->num )
        {
            temp = p;
            p = p->next;
        }                        //1寻找前驱阶段指针
        if(p == head)            //开始插入
        {
            Node->next = head;        
            head = Node;
        }
        else
        {
            temp->next = Node;
            Node->next = p;
            Node = NULL;
        }
   }
    return head;
}

 

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

上一篇:链表的删除del

下一篇:c中经典的选择排序

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