| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1429 人关注过本帖
标题:终于看完了链表,拿出来晒晒。。。。。。。。。。
取消只看楼主 加入收藏
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
结帖率:100%
收藏
 问题点数:0 回复次数:7 
终于看完了链表,拿出来晒晒。。。。。。。。。。
程序代码:
#include < stdio.h >
#include < stdlib.h >
#include < malloc.h >
#define NULL 0
#define LEN sizeof ( struct student )
struct student
{
    long num;
    float score;
    struct student *next;
};
int n;

struct student *creat ( void )
{
    struct student *head;
    struct student *p1, *p2;
    n = 0;
    p1 = p2 = ( struct student* ) malloc ( LEN );
    scanf ( "%ld, %f", &p1->num, &p1->score );
    head = NULL;
    while ( p1->num != 0 )
    {
        n = n + 1;
        if ( n == 1 )
            head = p1;
        else p2->next = p1;
        p2 = p1;
        p1 = ( struct student* )malloc ( LEN );
        scanf ( "%ld,%f", &p1->num, &p1->score );
    }
    p2->next = NULL;
    return(head);
}

void print ( struct student *head )
{
    struct student *p;
    printf ( "\nNow, These %d records are:\n", n );
    p = head;
    if ( head != NULL )
        do
        {
            printf ( "%ld %5.1f\n", p->num, p->score );
            p = p->next;
        }
        while ( p!= NULL );
}

struct student *del ( struct student *head, long num )
{
    struct student *p1, *p2;
    if ( head == NULL )
    {
        printf ( "\nlist null! \n" );
        return head;
    }
    p1 = head;
    while ( num != p1->num && p1->next != NULL )
    {
        p2 = p1;
        p1 = p1->next;
    }
    if ( num == p1->num )
    {
        if ( p1 ==head )
            head = p1->next;
        else
            p2->next = p1->next;
        printf ( "delete:%ld\n", num );
        n = n -1;
    }
    else
        printf ( "%ld not been found! \n", num );
    return ( head );
}

struct student *insert ( struct student *head, struct student *stud )
{
    struct student *p0, *p1, *p2;
    p1 = head;
    p0 = stud;
    if ( head == NULL )
    {
        head = p0;
        p0->next = NULL;
    }
    else
    {
        while ( ( p0->num > p1->num ) && ( p1->next != NULL ) )
        {
            p2 = p1;
            p1 = p1->next;
        }
        if ( p0->num > p1->num )
        {
            if ( head == p1 )
                head = p0;
            else
                p2 ->next = p0;
            p0->next = p1;
        }
        else
        {
            p1->next = p0;
            p0->next = NULL;
        }
    }
    n = n + 1;
        return ( head );
}



    void main ( )
    {
        struct student *head, stu;
        long del_num;
        printf ( "input records:\n" );
        head = creat ( );
        print ( head );
        printf ("\ninput the deleted number:" );
        scanf ( "%ld",&del_num );
        head = del ( head, del_num );
        print ( head );
        printf ( "\ninput the inserted record: " );
        scanf ( "%ld,%f", &stu.num, &stu.score );
        head = insert ( head, &stu );
        print ( head );
        system ( "pause" );
    }


搜索更多相关主题的帖子: color 
2011-10-23 22:37
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 2楼 hellovfp
少来了,你比我厉害吧。。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-24 23:58
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 6楼 lin471306489
我又没有说是我写的,真是的。。。。我刚看完链表,我可写不出来,,,

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-25 12:26
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 7楼 hellovfp
你的话每回都很有深度,值得学习,不过我还是觉得你谦虚了。。。。。。。。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-25 12:27
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 8楼 Devil_W
对你可能只是链表而已,可对初学者就不一样了,看完了链表,以后的进度就快多了。。。。。。。。至少我是这样认为的。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-25 12:29
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 3楼 零波丽
恩。。会的以后。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-25 12:30
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 22楼 waterstar
我们每天不是用算法来写程序么,不是每天都在看么,难道有算法这本书。。。。你发来看看

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-26 01:23
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 16楼 零波丽
期待中

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-26 01:23
快速回复:终于看完了链表,拿出来晒晒。。。。。。。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029302 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved