C/C++尾插法建立单链表
思路:
一个s指针指向新建节点
一个节点指向尾节点
C++中有引用,写出来很简单,下面给出的是天勤数据结构高分笔记上面的写法(疯狂吐槽这种C和C++混用的方法)
#include<iostream>
#include<stdlib.h>using namespace std;typedef struct LNode
{int data;struct LNode * next;
}LNode;void createlistR(LNode *&C,int a[],int n)
{LNode *s,*r;int i;C=(LNode*)malloc(sizeof(LNode));C->next=NULL;r=C;for(i=0;i<n;i++){s=(LNode*)malloc(sizeof(LNode));s->data=a[i];r->next=s;r=r->next;}r->next=NULL;
}int main()
{int a[]={1,2,3,4,5,6,7,8,9,10};LNode* head=(LNode*)malloc(sizeof(LNode));createlistR(head,a,10);LNode* p=head->next;while(p){cout<<p->data<<" ";p=p->next;}return 0;
}
下面是C语言
C语言没有引用,指针变量的值传不回去
那
C语言的灵魂是什么?
呕~
#include <stdio.h>
#include <stdlib.h>typedef struct LNode
{int data;struct LNode * next;
}LNode;void createlistR(LNode **C,int a[],int n)
{LNode *s,*r;int i;(*C)=(LNode*)malloc(sizeof(LNode));(*C)->next=NULL;r= *(C);for(i=0;i<n;i++){s=(LNode*)malloc(sizeof(LNode));s->data=a[i];r->next=s;r=r->next;}r->next=NULL;
}int main()
{int a[]={1,2,3,4,5,6,7,8,9,10};LNode** head;*head=(LNode*)malloc(sizeof(LNode));createlistR(head,a,10);LNode* p= (*head)->next;while(p){printf("%d ",p->data);p=p->next;}return 0;
}
上面的代码中严重问题,head没初始化,我能用。。。希望你也能用。。。
可能为了考研代码的易读性,才会出现这种奇奇怪怪的缝合怪吧?
C/C++尾插法建立单链表相关推荐
- C++头插法尾插法建立单链表,合并两个有序单链表
A和B是两个单链表(带表头结点),其中元素递增有序.设计一个算法,将A和B归 并成一个按元素值非递减有序的链表 C,C由A 和B 中的结点组成. #include<iostream> #i ...
- 采用头插法和尾插法建立单链表
面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...
- 单链表的建立(C语言):头插法和尾插法建立单链表
采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4 头插法建立单链表 头插法建 ...
- 利用尾插法建立单链表
PTA 5-3本题目要求利用尾插法建立单链表 #输入格式: 输入数据为若干正整数,最后以-1表示结尾(-1不算在序列内,不要处理).所有数据之间用空格分隔. #输入样例: 1 2 3 4 5 6 7 ...
- 数据结构__头插法建立单链表、尾插法建立单链表
单链表定义.头插法建表.尾插法建表 一.单链表的定义 单链表是线性表的链式存储,是指通过一组任意的存储单元来存储线性表中的数据元素. 单链表结构定义为: 其中data为数据域,用来存放数据:nex ...
- C++中LIstNode尾插法建立单链表
@yogurt_ 在做Acwing 和力扣的编程时,经常有一个节点是ListNode,这里记录一下利用已有已知结构体根据输入利用尾插法创立单链表. 经过查阅资料,理解和最后实现如下: ListNode ...
- 头插法与尾插法建立单链表
头插法与尾插法建立单链表 import java.util.*; class Node {int value;Node next;Node(int x) {value = x;} } public c ...
- 尾插法建立单链表,并输出链表
#include <stdio.h> #include <stdlib.h> typedef struct LNode { int data ; struct ...
- 头插法、尾插法建立单链表
头插法.尾插法建立单链表 #include<stdio.h> #include<stdlib.h> #define TRUE 1 #define FALSE 0 #define ...
- 用头插法和尾插法建立单链表(带头结点)
尾插法建立单链表 LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s ...
最新文章
- CentOS6.9下手动编译并安装Python3.7.0
- PAT甲级1133 Splitting A Linked List:[C++题解]链表
- Tomcat 架构原理到架构设计,写得非常好!
- 十五道java开发常遇到的计算机网络协议高频面试题
- 时永方:做到这三点,你就是多媒体内行了
- freecodecamp_freeCodeCamp.org隐私权政策:问题与解答
- ASP.NET状缓存Cache的应用-提高数据库读取速度
- relativelayout常用属性
- 聊天软件项目TCP升级版
- 逻辑回归模型(Logistic Regression)及Python实现
- 为什么有一些PDF转换成Word后是乱码?
- [升级凯立德地图] 升级凯立德地图 (车载 导航仪)
- 《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]
- 外地新能源汽车迁入北京需要哪些条件?
- 天刀服务器在线人数统计,天刀手游各大区活跃人数统计 神刀削弱后不降反增!...
- 温莎大学的计算机专业,温莎大学的计算机专业
- java list 模糊查询_如何在java List中进行模糊查询(示例代码)
- Python读取MEIC文件(.nc格式及.asc格式)
- Honda CB650R/CB650F
- 人脸识别签到考勤系统毕业设计,人脸识别考勤系统设计与实现,人脸识别系统论文毕设作品参考