| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1251 人关注过本帖
标题:数据结构新人,书上给的都是带模板的伪代码,求大家随便给个单链表的简单程 ...
只看楼主 加入收藏
小灰i小白
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2011-11-12
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:6 
数据结构新人,书上给的都是带模板的伪代码,求大家随便给个单链表的简单程序,学习一下
书上的代码都不可以运行,大家给个单链表的简单程序,学习学习.谢谢哈
搜索更多相关主题的帖子: 学习 
2011-11-13 17:14
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:1 
学了C语言再学数据结构,写个链表不难吧
2011-11-13 21:31
小灰i小白
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2011-11-12
收藏
得分:0 
回复 2楼 绿茶盖儿
给嘛给嘛给嘛
2011-11-13 22:47
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:2 
我在这个发过资料 你自己出看
https://bbs.bccn.net/thread-354886-1-1.html

用心做一件事情就这么简单
2011-11-14 10:30
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:2 
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"

// 单链表结点结构
typedef struct node
{
    int data;
    struct node *next;
} NODE, *NODEP;

NODEP InitList(void);
void InsertList(NODEP pHead, int x, int i);
void DeleteList(NODEP pHead, int i);
void PrintList(NODEP pHead);
void ClearList(NODEP pHead);

void main(void)
{
    int iNo, iX;
    char chItem;
    NODEP pHead;
   
    pHead = InitList();

    while (1)
    {
        system("cls");

        printf("    1--插入结点             \n");
        printf("    2--删除结点             \n");
        printf("    3--显示结点             \n");
        printf("    0--退出             \n");
        printf("                     \n");
        printf("    请输入选项(0-3):  ");

        chItem = getche();
        switch (chItem)
        {
            case '1':
                printf("\n请输入插入位置:");
                scanf("%d", &iNo);
                printf("\n请输入要插入的数据元素:");
                scanf("%d", &iX);               
                InsertList(pHead, iX, iNo);
                break;
            case '2':
                printf("\n请输入删除元素的序号:");
                scanf("%d", &iNo);
                DeleteList(pHead, iNo);
                break;
            case '3':
                PrintList(pHead);
                break;
            case '0':
                printf("\n退出程序!\n");
                ClearList(pHead);
                exit(0);
            default:
                printf("\n选项不正确!");
        }

        printf("\n按任意键继续...");
        getch();
    }
}

// 初始化单链表为空表
NODEP InitList(void)
{
    NODEP pHead;

    pHead = (NODEP)malloc(sizeof(NODE));
    if (pHead == NULL)
    {
        printf("内存分配失败!\n");
        exit(0);
    }
    pHead->next = NULL;

    return pHead;
}

// 将结点 x 插入到单链表 pHead 的第 i 个位置
void InsertList(NODEP pHead, int x, int i)
{
    NODEP P,S;
    int j=0;

    P=pHead;

    while((P!=NULL) && (j<I-1))
    {
        P=P->next;
        j++;
    }
    if(P==NULL)
        printf("第 i-1 个结点不存在",i);
    else
    {
        S=(NODEP)malloc(sizeof(NODE));
        S->data=x;
        S->next=P->next;
        P->next=S;
    }
}

// 删除单链表 pHead 的第 i 个结点
void DeleteList(NODEP pHead, int i)
{
    NODEP P,Q;
    int j=0;

    P=pHead;

    while((P!=NULL) && (j<I-1))
    {
        P=P->next;
        j++;
    }
    if(P==NULL)
        printf("第 i-1 个结点不存在",i);
    else
    {
        Q=P->next;
        P->next=Q->next;
        free(Q);
    }
}

// 显示单链表
void PrintList(NODEP pHead)
{
    NODEP pCur;

    printf("\nOutput: ");

    pCur = pHead->next;
    while (pCur != NULL)
    {
        printf("%d ", pCur->data);
        pCur = pCur->next;
    }

    printf("\n");
}

// 销毁单链表
void ClearList(NODEP pHead)
{   
    NODEP pCur, pTemp;

    pCur = pHead;

    while (pCur != NULL)
    {
        pTemp = pCur;
        pCur = pCur->next;
        free(pTemp);
    }
}
2011-11-15 17:10
小灰i小白
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2011-11-12
收藏
得分:0 
回复 5楼 心灵百合
谢谢哈
2011-11-15 19:51
小灰i小白
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2011-11-12
收藏
得分:0 
回复 5楼 心灵百合
能不能给个C++模板写的简单代码啊,谢了哈
2011-11-15 20:01
快速回复:数据结构新人,书上给的都是带模板的伪代码,求大家随便给个单链表的简 ...
数据加载中...
 
   



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

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