`
jackey25
  • 浏览: 111385 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C语言编程练习之单链表基本操作

阅读更多
1.打印链表(PrintList)

2.建立链表(CreateList)

3.链表末尾插入节点(InsertList)

4.链表中删除指定节点(DeleteNode)

5.找链表中第一个出现的最小节点(FindMin)



#include "stdio.h"

typedef struct node
{
int data;
struct node* next;
}LNode,*Position,*List;

void PrintList(List L)
{
    Position p;
    p=L->next;

        printf("The list is :");
        while(p!=NULL)
        {
         printf("%3d",p->data);
         p=p->next;
        }
  

  printf(" n");
}

List CreateList(void)
{
Position p;
p=(Position)malloc(sizeof(LNode));
if(p==NULL) printf("Out of space!");
p->data=0;
p->next=NULL;
return p;
}

Position CreateNode(void)
{
Position p;
p=(Position)malloc(sizeof(LNode));
if(p==NULL) printf("Out of space!");
p->data=0;
p->next=NULL;
return p;
}

void InsertList(List L,int data)
{
Position p,temp;
p=L;
temp=CreateNode();
temp->data=data;
while(p->next!=NULL)
{
   p=p->next;
}
  p->next=temp;
}

void DeleteNode(List L,int data)
{
Position p,temp;
p=L;
while(p->next!=NULL&&p->next->data!=data)
{
  p=p->next;
}
temp=p->next;
p->next=p->next->next;
free(temp);
}

void FindMin(List L)
{
int min,count,j;
Position p;
p=L->next;

min=p->data;
count=1;
while(p->next!=NULL)
{
  p=p->next;
  count++;
if(p->data<min)
  {
  min=p->data;
  j=count;
  }
}

printf("The first min number is %d : n",min);
printf("The Position is %d : n",j);


}


main()
{
int i;
  List L=CreateList();
  PrintList(L);

   InsertList(L,10);
   InsertList(L,4);
   InsertList(L,1);
   InsertList(L,5);
   InsertList(L,7);
   InsertList(L,2);
   InsertList(L,1);
   PrintList(L);
   FindMin(L);
   PrintList(L);

}

分享到:
评论

相关推荐

    学生信息管理系统(c语言单链表实现)

    总之,"学生信息管理系统(C语言单链表实现)"是一个综合性的编程练习,涵盖了C语言编程基础、数据结构(尤其是单链表)、动态内存管理以及基本的用户交互设计等多个方面。通过这个项目,学生可以全面提升自己的编程...

    C语言 顺序链表 单链表 双链表 栈等程序

    压缩包中的cpp文件很可能是实现这些数据结构和操作的源代码,例如excise1.cpp可能包含了链表的基本操作,algo4-2.cpp可能涉及栈的实现,而algo7-1.cpp可能包含了一些更复杂的算法实现,如链表的排序或查找。...

    C语言 单链表的简单操作

    以上就是C语言中单链表的基本操作。了解这些操作后,我们可以结合题目提供的`Sy2_2.cpp`文件进行进一步的学习和实践。这个文件可能包含了上述操作的实现,通过阅读和分析代码,可以加深对单链表操作的理解。 总的来...

    C语言经典小练习

    3. 指针:C语言的指针是其强大之处,它允许直接操作内存。学习如何声明、初始化和使用指针,理解指针与数组的关系,以及指针在函数中的应用,是C语言学习的关键。 4. 数组:数组是存储同一类型数据集合的结构,理解...

    C语言链表综合练习题

    通过这些练习,你不仅可以提升C语言编程技能,还能加深对链表数据结构的理解,为解决更复杂的问题打下坚实基础。同时,实践中的调试和优化过程也能帮助你提高问题解决能力,为未来的学习和工作提供有力支持。

    实验2 单链表的基本操作.zip

    单链表是一种基础的数据结构,广泛应用于计算机科学的各个领域,包括操作系统、数据结构课程以及各种编程练习。在这个实验中,我们将深入理解单链表的基本操作,并通过C语言实现它们。19级211本科生编写的这个实验,...

    例子_C语言_单链表_数据结构_源码

    在IT领域,数据结构是计算机科学的基础之一,它涉及到如何高效地存储和处理数据。单链表作为一种基本的数据结构,...通过练习和理解这些基本操作,开发者可以进一步探索更高级的数据结构,如双向链表、循环链表、树等。

    从单链表中删除节点指向欲删除的结点的指针作为函数参数C和指针第十二章编程练习5

    在C语言中,单链表是一种常见的数据结构,用于存储一系列有序或无序的数据元素。在本编程练习中,我们关注的是...通过熟练掌握这种操作,你可以进一步学习更复杂的数据结构和算法,为你的C语言编程技能打下坚实的基础。

    从单链表中删除节点数值作为函数参数C和指针第十二章编程练习5

    在本编程练习中,我们的目标是编写一个函数,该函数接受单链表的头指针和一个待删除的节点值作为参数,然后从链表中删除所有具有该值的节点。这个功能对于链表的维护和数据清理至关重要。 首先,我们需要理解链表的...

    c语言版学生成绩管理 数据结构单链表实现

    这个程序不仅展示了单链表的基本操作,还引入了头插法和尾插法两种链表元素插入的方法。 首先,让我们了解什么是单链表。单链表是一种线性数据结构,其中每个元素(称为节点)包含两部分:数据域和指针域。数据域...

    C语言的基本程序 链表顺序表等

    在“C语言的基本程序 链表顺序表等”这个主题中,我们将深入探讨C语言的基础知识,特别是链表和顺序表这两种数据结构。 一、C语言基础 1. 变量与数据类型:C语言提供多种数据类型,如int、float、char等,用于存储...

    在无序单链表中查找特定的值pointer on c第十二章编程练习2

    总的来说,这个编程练习旨在让你熟悉C语言中链表的基本操作,包括创建节点、插入节点以及在无序链表中搜索特定值。理解这些基本概念对于进一步学习高级数据结构和算法至关重要。通过实际操作,你可以更好地掌握这些...

    单链表的定义与基本操作.doc

    本实验主要探讨了单链表的定义、基本操作及其在C语言中的实现。 首先,单链表是一个线性表,其中每个元素(节点)包含两部分:数据域(用于存储数据)和指针域(指向下一个节点的地址)。带头结点的单链表在链表的...

    简单的学生信息管理 C语言实现

    在这个系统中,我们使用C语言编程,并在Linux环境下运行。C语言以其高效、灵活性和对底层硬件的良好控制而受到程序员的喜爱,尤其适用于系统级编程。而Linux作为开源的操作系统,为开发者提供了丰富的开发工具和环境...

    单链表节点个数计数pointer on c第十二章编程练习1

    在本编程练习中,我们关注的是使用C语言处理单链表,特别是计算单链表中的节点数量。"Pointer on C"是一本经典的C语言编程教材,第十二章可能详细介绍了链表及其操作。在这个练习中,我们将实现一个C程序,该程序...

    数据结构课件 线性表 单链表 栈和队列 串 数组和广义表 树和二叉树 C语言版

    学习这个课件,你可以深入理解数据结构的基本原理,掌握各种数据结构的实现方法,同时通过实际的C语言编程练习,提升你的编程能力和算法设计能力。这将为后续的计算机科学学习,尤其是算法分析和软件开发打下坚实的...

    冒泡法反序排列无序单链表C和指针第十二章编程练习4

    总结来说,这个编程练习提供了实现链表冒泡排序反序排列的机会,它涵盖了C语言的基础知识、链表操作以及排序算法的应用,对于理解和提高C语言编程技巧非常有帮助。通过解决这个问题,你可以进一步巩固对指针、链表和...

    关于c语言链表的学习总结

    从这些代码段和问题中可以总结出,对链表的学习不仅是理解其定义和基本操作,还包括解决实际编程中可能遇到的问题。C语言的指针和动态内存管理是链表操作的核心,而结构体则提供了节点数据存储的基础。通过练习和...

    单链表的定义及基本操作.pdf

    在本实验中,我们将关注带头结点的单链表,这种链表会在链表的开始处额外设置一个节点,它的作用主要是为了方便链表的操作,比如插入和删除。 实验的主要目标是让学生深入理解单链表的定义和操作,包括建立链表、...

    单链表的最基本操作,最基础的解释

    单链表是数据结构中最基础且重要的...通过这些基本操作,我们可以构建和操作单链表。了解这些概念对于学习更复杂的数据结构和算法至关重要。不断练习和理解这些基础知识,将有助于提升你的编程技能和解决问题的能力。

Global site tag (gtag.js) - Google Analytics