通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail
面试高频题:单链表的逆置操作/链表逆序相关文章 点击打开
void init_node(node *tail,char *init_array)
这样声明函数是不正确的,函数的原意是通过数组初始化链表若链表结点传入的是指针,则并不能创建链表,除非是二维指针即指向指针的指针,或者是指向指针的引用
因为传入的虽然是指针,但是对形参的操作并不能影响实参,函数内修改的是实参的副本。要想在函数内部修改输入参数,要么传入的是实参的引用,要么传入的是实参的地址。
指向指针的引用
void init_node_by_referenceToPointer(node *&tail,const char *init_array)
{
node * tmp = NULL;
int j=strlen(init_array);
for(int i=0; i<j; i++)
{
tmp = new node;
tmp->data = *(init_array+i);
tmp->next = tail;
tail = tmp;
}
}
/***************************************
这样的声明是错误的!!!
void init_node_by_referenceToPointer(node &*tail,char *init_array)
error: cannot declare pointer to 'class node&'
****************************************/
指向指针的指针
void init_node_by_pointerToPointer(node **tail,const char *init_array)
{
node * tmp = NULL;
int j=strlen(init_array);
for(int i=0; i<j; i++)
{
tmp = new node;
tmp->data = *(init_array+i);
tmp->next = *tail;
*tail = tmp;
}
}
通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail的更多相关文章
- 计算机二级-C语言-程序修改题-190116记录-对数组进行排序的两种方法。
//函数fun的功能是:将n个无序整数从小到大排序. //冒泡排序法:小数往下浮,大数往上浮.把数都存到一个数组,然后两两比较,大数往后交换.双层递减循环. //第二种方法:都放入一个数组中,然后记录 ...
- iOS UIimage初始化时的两种方法
第一种方式:UIImage *image = [UIImage imageNamed:@"image"]; 使用这种方式,第一次读取的时候,先把这个图片存到缓存里,下次再使用时直接 ...
- EF Core 初始化数据库的两种方法。
使用DbContextSeed初始化数据库 添加链接字符串 // This method gets called by the runtime. Use this method to add serv ...
- iOS Swift 数组 交换元素的两种方法
swap(&arr[fromIndexPath.row], &arr[to.row]) (arr[fromIndexPath.row],arr[to.row]) = (arr[to.r ...
- 初始化ArrayList的两种方法
方式一: ArrayList<String> list = new ArrayList<String>(); String str01 = String("str ...
- 初始化ArrayList的两种方法[转]
方式一: ArrayList<String> list = new ArrayList<String>(); String str01 = String("str ...
- 最长公共子序列的C++实现---附二维指针的使用方法
想了挺久到底第一篇在这儿的博客写什么好,刚好这两天又一次看到动态规划的LCS算法觉得还是有点意思的,就拿来写了写,第一篇博客就发它吧. #include<iostream> #includ ...
- PHP中数组合并的两种方法及区别介绍
PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = ...
- php获取数组中重复数据的两种方法
分享下php获取数组中重复数据的两种方法. 1,利用php提供的函数,array_unique和array_diff_assoc来实现 <?php function FetchRepeatMem ...
随机推荐
- linux FILE 类型.
stdio.h 头文件中,有以下内容(用内部行号解释): /* The opaque type of streams. This is the definition used elsewhere. * ...
- iOS 网络与多线程--4.同步Post方式的网络请求
通过Post请求方式,同步获取网络数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据 在ViewController.m文件内的viewDidLoad函数添加一下测试代码 - (void) ...
- 软件测试 homework2
1. 程序1: for循环的i>0改为i>=0: 程序2: for循环for (int i = 0; i < x.length; i++)改为for (int i = x.l ...
- R2:获取一个event_base
原文链接:http://www.wangafu.net/~nickm/libevent-book/Ref2_eventbase.html 创建一个event_base 在你使用任何有意思的Libeve ...
- 【SQL】查询语句中in和exists的区别
in in可以分为三类: 一. 形如select * from t1 where f1 in ( &apos:a &apos:, &apos:b &apos:),应该和 ...
- Menu之选项菜单
Android有三种形式的菜单:选项菜单(optionMenu).上下文菜单(ContextMenu).子菜单(subMenu).最常用的是选项菜单,该菜单在点击menu按键后会在对应的Activit ...
- Objective-C中单例模式的实现-备
单例模式在Cocoa和Cocoa Touch中非常常见.比如这两个,[UIApplication sharedApplication]和[NSApplication sharedApplication ...
- 转:fopen()函数
1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成.而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turb ...
- zoj 3647 Gao the Grid
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4837 先求出从所有点随机找出三个点的组合数,然后去掉共线的,平行好去掉,斜线就 ...
- 来一个可能防止恶意采集和爬虫的SH
没办法,公司的要求,还有,一些山寨爬虫完全不够我们运维人员的感觉, 一天爬虫搞个三四十万的LOG,那我只好干了.. 人家GOOGLE,BAIDU,一天大约也就五六千吧.. 有一个小的SSH技巧,是判断 ...