C语言尾插法链表

简介:

算法示意图:
wKioL1nHZ_Xj2td1AAFNgZgvhoA348.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
using  namespace  std;
 
struct  DATA
{
     int  id;
     char  name[20];
};
 
struct  info
{
     DATA data;
     info * pNext;
};
 
//头节点
info * g_Head = NULL;
 
void  CreateList()
{
     //创建头节点
     info * pHead   =  new  info;
     if (pHead)
     {
         pHead->data.id  = NULL;
         memset (pHead->data.name,0,10);
 
         pHead->pNext = NULL;
         
         g_Head = pHead;
     }
}
 
void  Add( int  id, char  * str)
{
      info * pData   =  new  info;
      pData->data.id = id;
      strcpy (pData->data.name,str);
      pData->pNext = NULL;
 
 
      info * p = g_Head,*p1;
      while (p)
      {
         p1 = p;
         p = p->pNext;
      }
 
      p1->pNext = pData;
 
}
 
void  print()
{
      info * p = g_Head;
      while (p)
      {
          cout << p->data.id <<  " "  << p->data.name << endl;
          p = p->pNext;
      }
}
 
int  main( int  argc,  char * argv[])
{
     CreateList();
     Add(1, "李大" );
     Add(2, "王五" );
     Add(3, "罗博特" );
 
     print();
 
     getchar ();
     return  0;
}

wKiom1nHR9OQrG9kAAAYBKkKk7k088.png















本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1968176 ,如需转载请自行联系原作者



相关文章
C语言里的循环链表
C语言里的循环链表
|
10月前
|
存储 算法 C语言
【C语言】深入浅出:C语言链表的全面解析
链表是一种重要的基础数据结构,适用于频繁的插入和删除操作。通过本篇详细讲解了单链表、双向链表和循环链表的概念和实现,以及各类常用操作的示例代码。掌握链表的使用对于理解更复杂的数据结构和算法具有重要意义。
3013 6
|
11月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
301 5
|
11月前
|
存储 C语言
【数据结构】手把手教你单链表(c语言)(附源码)
本文介绍了单链表的基本概念、结构定义及其实现方法。单链表是一种内存地址不连续但逻辑顺序连续的数据结构,每个节点包含数据域和指针域。文章详细讲解了单链表的常见操作,如头插、尾插、头删、尾删、查找、指定位置插入和删除等,并提供了完整的C语言代码示例。通过学习单链表,可以更好地理解数据结构的底层逻辑,提高编程能力。
927 4
|
12月前
|
存储 缓存 C语言
C语言:链表和数组有什么区别
C语言中,链表和数组是两种常用的数据结构。数组是一种线性结构,元素在内存中连续存储,通过下标访问,适合随机访问且大小固定的情况。链表由一系列不连续的节点组成,每个节点存储数据和指向下一个节点的指针,适用于频繁插入和删除操作的场景,链表的大小可以动态变化。
|
C语言
无头链表再封装方式实现 (C语言描述)
如何在C语言中实现无头链表的再封装,包括创建节点和链表、插入和删除操作、查找和打印链表以及销毁链表的函数。
99 0
|
C语言
C语言链式结构之有头单链表再封装写法
本文介绍了如何使用C语言对有头单链表进行封装,包括节点的创建、链表的初始化、数据的插入和删除,以及链表的打印等功能。
97 1
|
C语言
C语言结构体链式结构之有头单链表
文章提供了一个C语言实现的有头单链表的完整代码,包括创建链表、插入、删除和打印等基本操作。
139 1
|
测试技术 C语言
单链表之无头链表(C语言版)
本文详细介绍了使用C语言实现无头单链表的方法,包括节点和链表结构的定义、链表的创建与销毁、节点的插入与删除,以及链表的打印等功能。文章通过具体的代码示例,展示了如何在无头链表中进行头插法、尾插法、自定义位置插入和删除,以及如何清空和销毁链表。
232 0
单链表之无头链表(C语言版)
|
11月前
|
C语言
【数据结构】双向带头循环链表(c语言)(附源码)
本文介绍了双向带头循环链表的概念和实现。双向带头循环链表具有三个关键点:双向、带头和循环。与单链表相比,它的头插、尾插、头删、尾删等操作的时间复杂度均为O(1),提高了运行效率。文章详细讲解了链表的结构定义、方法声明和实现,包括创建新节点、初始化、打印、判断是否为空、插入和删除节点等操作。最后提供了完整的代码示例。
329 0