`
chengzhi_hong
  • 浏览: 168355 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据结构—单向链表

阅读更多

#include <stdio.h>
#include <malloc.h>
typedef struct Node
{
    int data;
    struct Node *next;
}Node,*linklist;
linklist create(int n)
{
    int i;
    linklist head,p;
    for(i=0;i<n;++i)
    {
        p=(Node*)malloc(sizeof(Node));
        printf("please input number to data %d!",i);
        scanf("%d",&p->data);
        p->next=head;
        head=p;
    }
    return head;
}
void print(linklist head)
{
    linklist p;
    p=head;
    while(p->next!=NULL)
    {
        printf("%4d",p->data);
        p=p->next;
    }
    printf("\n");
}
linklist insert(linklist head,int elem,int index)
{
    linklist p,q;
    int i=0;
    p=head;
    q=(Node*)malloc(sizeof(Node));
    q->data=elem;
    while(p->next!=NULL&&i<index)
    {
        p=p->next;
        i++;
    }
    if(p->next==NULL)
    {
        printf("linklist is short!");
    }
    else
    {
        q->next=p->next->next;
        p->next=q;
    }
    return head;
}
linklist delete(linklist head,int index)
{
    int i=0;
    linklist p,q;
    p=head;
    q=head->next;
    while(i<index&&p->next!=NULL)
    {
        p=p->next;
        i++;
    }
    if(q->next==NULL)
    {
        printf("linklist is short!");
    }
    else
    {
        q=p->next;
        p->next=q->next;
        free(q);
    }
    return head;
}
int main()
{
    int n;
    linklist head;
    printf("please input number to n!");
    scanf("%d",&n);
    head=create(n);
    print(head);
    insert(head,23,3);
    print(head);
    delete(head,5);
    print(head);
    return 0;
}

分享到:
评论

相关推荐

    数据结构单向链表

    单向链表是一种基本的数据结构,它在计算机科学和编程中有着广泛的应用,尤其是在处理动态数据集合时。本文将深入探讨C++实现的单向链表,并将其与数据结构和链表的概念相结合。 首先,我们要理解什么是数据结构。...

    数据结构 单向链表 双向链表 源程序

    本文将深入探讨两种重要的线性数据结构——单向链表和双向链表,以及它们在实际编程中的应用。 单向链表是一种线性数据结构,它的每个元素(称为节点)包含两部分:数据域,用于存储实际的数据;指针域,用于存储下...

    数据结构单向链表和双向链表

    单向链表是一种线性数据结构,其中每个元素(称为节点)包含两部分:数据和指向下一个节点的引用。与数组不同,链表的元素不需要在内存中连续存放,这使得链表在插入和删除操作上具有一定的灵活性。下面是一些关于...

    单向链表实验报告(数据结构)

    在本篇数据结构实验报告中,我们关注的核心是单向链表这一数据结构。单向链表是一种线性数据结构,每个节点包含一个数据元素和一个指向下一个节点的指针。实验使用VC++ 6.0作为编程工具,旨在通过实践来深入理解和...

    单向链表 代码架构

    单向链表是一种基本的数据结构,它在计算机科学和编程中有着广泛的应用。与数组不同,链表中的元素不是在内存中连续存储的,而是通过指针或引用连接在一起,形成一个逻辑上的线性序列。单向链表的每个节点包含两部分...

    单向链表c语言实现数据结构

    单向链表是一种基本的数据结构,它在计算机科学中被广泛应用。C语言是实现这种数据结构的理想工具,因为它的简洁性和灵活性。在这个话题中,我们将深入探讨如何使用C语言来创建和操作单向链表。 首先,单向链表是由...

    单向链表源代码

    单向链表是一种基本的数据结构,它在计算机科学中被广泛应用,特别是在算法和数据结构的实现中。在Java编程中,单向链表通常通过定义一个节点类来实现,每个节点包含数据和指向下一个节点的引用。下面我们将深入探讨...

    单向链表类模板_单向链表类模板_fastchq_

    单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在C++编程中,为了实现通用性,我们通常会使用模板类来创建单向链表,以便它可以处理不同类型的元素。标题"单向链表类...

    数据结构 链表 C语言 单向链表 栈

    数据结构 链表 C语言 单向链表 栈

    C#单向链表的实现

    在编程领域,数据结构是构建复杂程序的基础,而链表作为一种基本的数据结构,被广泛应用于各种软件系统中。本文将详细讲解如何在C#中实现单向链表,结合源码解析来帮助你深入理解其内部机制。 首先,我们要知道什么...

    LinkedBlockingQueue + 单向链表基本结构

    该队列的主要特点是其内部数据结构采用了一个单向链表,并且实现了 BlockingQueue 接口,提供了线程安全的插入、删除和获取元素的操作。 单向链表是一种简单的数据结构,由一系列节点组成,每个节点包含数据以及...

    数据结构:单向链表源码

    单向链表是一种基本的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的引用。在计算机科学和编程领域,理解并能够实现单向链表的源码是至关重要的,因为它是构建更复杂数据结构(如双向链表、循环...

    单向链表实现

    单向链表是一种基本的数据结构,它在计算机科学和编程中有着广泛的应用。与数组不同,链表不连续存储元素,而是通过节点之间的指针连接。每个节点包含两部分:数据域,用于存储数据;指针域,指向下一个节点的位置。...

    C语言实现单向链表及操作

    数据结构,c语言实现的单向链表。代码分享 struct LinkNode { int data; struct LinkNode *next; }; typedef struct LinkNode *Lnode;

    实验二 单向链表的有关操作.cpp

    1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2.遍历单向链表。 3.把单向链表中元素逆置(不允许申请新的结点空间)。 4.在单向链表中删除所有的偶数元素结点。 5.编写在非递减...

    C语言自学链表,单向链表,双向链表,适合新手学习。

    单向链表是一种线性数据结构,每个节点包含两部分:数据域和指针域。数据域存储实际的元素值,而指针域存储指向下一个节点的引用。由于链表的节点不连续存储,所以访问链表元素时需要从头节点开始按顺序遍历。单向...

    单向链表实现基排序

    单向链表是一种基本的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的引用。在计算机科学中,链表常用于构建动态数据结构,因为它们允许高效的插入和删除操作,尤其是在元素的位置未知时。而基...

    课程大作业基于easyx的使用单向链表的数据结构C++源码(带详细注释+exe可执行文件).zip

    课程大作业基于easyx的使用单向链表的数据结构C++源码(带详细注释+exe可执行文件).zip课程大作业基于easyx的使用单向链表的数据结构C++源码(带详细注释+exe可执行文件).zip课程大作业基于easyx的使用单向链表的数据...

    数据结构(线性表、单链表、双链表)

    分区 数据结构 的第 2 页 //判断是否为空表,如果为空了,则线性表的长度为0 if(list-&gt;seqLength){ //开始打印线性表内容 int i; for(i=0;i&lt;list-&gt;seqLength;i++){ printf("%d\t",list-&gt;data[i]); } printf("\n"); }...

    基于数据结构的单向链表排序算法探究.pdf

    #资源达人分享计划#

Global site tag (gtag.js) - Google Analytics