下载频道> 资源分类> 编程语言> C源码> 实例206 单链表节点逆置

标题:实例206 单链表节点逆置 分享到:

所属分类: C源码 资源类型:程序源码 文件大小: 2.05 KB 上传时间: 2017-07-15 22:38:51 下载次数: 8 资源积分:1分 提 供 者: admin 实例206 单链表节点逆置
内容:
#include <stdio.h>
 
struct student
{
    int num;
    struct student *next;
};
 
struct student *create(int n)
{
    int i;
    struct student *head,  *p1,  *p2;
    int a;
    head = NULL;
    printf("链表元素:\n");
    for (i = n; i > 0; --i)
    {
        p1 = (struct student*)malloc(sizeof(struct student)); /*分配空间*/
 
        scanf("%d", &a);
        p1->num = a; /*数据域赋值*/
        if (head == NULL)
        {
            head = p1;
            p2 = p1;
        } 
        else
        {
            p2->next = p1; /*指定后继指针*/
            p2 = p1;
        }
    }
    p2->next = NULL;
    return head; /*返回头结点指针*/
}
 
struct student *reverse(struct student *head)
{
    struct student *p,  *r;
    if (head->next && head->next->next)
    {
        p = head; /*获取头结点地址*/
        r = p->next;
        p->next = NULL;
        while (r)
        {
            p = r;
            r = r->next;
            p->next = head;
            head = p;
        } return head;
    }
    return head; /*返回头结点*/
}
 
void main()
{
    int n, i;
    int x;
    struct student *q;
    printf("输入你想创建的结点个数:");
    scanf("%d", &n);
    q = create(n); /*创建单链表*/
    q = reverse(q); /*单链表逆置*/
    printf("逆置后的单链表是:\n");
    while (q) /*输出逆置后的单链表*/
    {
        printf("%d ", q->num);
        q = q->next;
    } getch();
}
 

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

实例206 单链表节点逆置
实例206 单链表节点逆置\www.gusucode.com
实例206 单链表节点逆置\文件说明.txt
实例206 单链表节点逆置\www.gusucode.com.txt
实例206 单链表节点逆置\www.gusucode.com\206.C
实例206 单链表节点逆置\【谷速代码】-免费源码.url

关键词: 节点 实例

相关推荐

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