下载频道> 资源分类> 编程语言> C源码> 实例202 双链表逆序输出

标题:实例202 双链表逆序输出 分享到:

所属分类: C源码 资源类型:程序源码 文件大小: 2.13 KB 上传时间: 2017-07-15 22:37:21 下载次数: 7 资源积分:1分 提 供 者: admin 实例202 双链表逆序输出
内容:
#include <stdio.h>
#define N 10
 
typedef struct node
{
    char name[20];
    struct node *prior,  *next;
} stud; /*双链表的结构定义*/
 
stud *creat(int n)
{
    stud *p,  *h,  *s; /*声明双链表结构类型的指针*/
    int i;
    h = (stud*)malloc(sizeof(stud)); /*创建头结点*/
    /*初始化头结点*/
    h->name[0] = '\0';
    h->prior = NULL;
    h->next = NULL;
    p = h; /*p指向头结点*/
 
    for (i = 0; i < n; i++)
    {
        s = (stud*)malloc(sizeof(stud)); /*申请结点空间*/
        p->next = s;
        printf("Input the %d records:",i);
        scanf("%s", s->name); /*输入数据*/
        s->prior = p; /*指定前驱结点*/
        s->next = NULL; /*指定后继结点*/
        p = s;
    }
    p->next = NULL;
    return (h); /*返回头结点*/
}
 
stud *gettp(stud *head)
{
    stud *p,  *r;
    while (p->next != NULL)
    {
        p = p->next;
    }
    return p; /*返回尾节点指针*/
}
 
void main()
{
    int n, i;
    int x;
    stud *q;
    printf("Input the count of the nodes you want to creat:");
    scanf("%d", &n); /*输入要创建链表的结点数*/
    q = creat(n); /*创建双链表*/
    q = gettp(q); /*找到双链表的尾结点*/
    printf("The result: ");
    while (q)
    {
        printf("  %s", &*(q->name)); /*逆序输出*/
        q = q->prior; /*从尾结点开始向前遍历链表结点*/
    }
    getch();
}
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

实例202 双链表逆序输出
实例202 双链表逆序输出\www.gusucode.com
实例202 双链表逆序输出\文件说明.txt
实例202 双链表逆序输出\www.gusucode.com.txt
实例202 双链表逆序输出\www.gusucode.com\202.C
实例202 双链表逆序输出\【谷速代码】-免费源码.url

关键词: 双链 逆序 实例

Top_arrow
回到顶部
关于我们| 联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款账号| 法律顾问| 合作伙伴| 付款方式|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘 博客客服
沪 ICP 证 14049794 号
谷速代码 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved