#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语言来创建和操作单向链表。 首先,单向链表是由...
单向链表是一种基本的数据结构,它在计算机科学中被广泛应用,特别是在算法和数据结构的实现中。在Java编程中,单向链表通常通过定义一个节点类来实现,每个节点包含数据和指向下一个节点的引用。下面我们将深入探讨...
单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在C++编程中,为了实现通用性,我们通常会使用模板类来创建单向链表,以便它可以处理不同类型的元素。标题"单向链表类...
数据结构 链表 C语言 单向链表 栈
在编程领域,数据结构是构建复杂程序的基础,而链表作为一种基本的数据结构,被广泛应用于各种软件系统中。本文将详细讲解如何在C#中实现单向链表,结合源码解析来帮助你深入理解其内部机制。 首先,我们要知道什么...
该队列的主要特点是其内部数据结构采用了一个单向链表,并且实现了 BlockingQueue 接口,提供了线程安全的插入、删除和获取元素的操作。 单向链表是一种简单的数据结构,由一系列节点组成,每个节点包含数据以及...
单向链表是一种基本的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的引用。在计算机科学和编程领域,理解并能够实现单向链表的源码是至关重要的,因为它是构建更复杂数据结构(如双向链表、循环...
单向链表是一种基本的数据结构,它在计算机科学和编程中有着广泛的应用。与数组不同,链表不连续存储元素,而是通过节点之间的指针连接。每个节点包含两部分:数据域,用于存储数据;指针域,指向下一个节点的位置。...
数据结构,c语言实现的单向链表。代码分享 struct LinkNode { int data; struct LinkNode *next; }; typedef struct LinkNode *Lnode;
1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2.遍历单向链表。 3.把单向链表中元素逆置(不允许申请新的结点空间)。 4.在单向链表中删除所有的偶数元素结点。 5.编写在非递减...
单向链表是一种线性数据结构,每个节点包含两部分:数据域和指针域。数据域存储实际的元素值,而指针域存储指向下一个节点的引用。由于链表的节点不连续存储,所以访问链表元素时需要从头节点开始按顺序遍历。单向...
单向链表是一种基本的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的引用。在计算机科学中,链表常用于构建动态数据结构,因为它们允许高效的插入和删除操作,尤其是在元素的位置未知时。而基...
课程大作业基于easyx的使用单向链表的数据结构C++源码(带详细注释+exe可执行文件).zip课程大作业基于easyx的使用单向链表的数据结构C++源码(带详细注释+exe可执行文件).zip课程大作业基于easyx的使用单向链表的数据...
分区 数据结构 的第 2 页 //判断是否为空表,如果为空了,则线性表的长度为0 if(list->seqLength){ //开始打印线性表内容 int i; for(i=0;i<list->seqLength;i++){ printf("%d\t",list->data[i]); } printf("\n"); }...
#资源达人分享计划#