创建单链表

Posted xuelisheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建单链表相关的知识,希望对你有一定的参考价值。

还记得创建单链表的这些代码还是大学时候写过,现在再重新写一写,为面试做准备吧:

创建单链表的两种形式:头插法和尾插法

// 演示创建2种单链表的方式
// 【C++基础】单链表.cpp

#include "stdafx.h"
#include <iostream>
using namespace std;
struct link {
	int data;
	link *next;
};

//头插法建立单链表
link *creatLink_head(link *head) {
	link *node;
	int tmpData;
	cout << "输入元素,以空格分隔:";
	do {
		cin >> tmpData;
		if (tmpData == 0)
			break;

		node = new link;
		node->data = tmpData;
		node->next = head->next;
		head->next = node;

	} while (node->data != 0);
	return head->next;
}

//尾插法建立单链表
link *creatLink_tail(link *head) {
	link *node, *tail = head;
	int tmpData;
	cout << "输入元素,以空格分隔:";
	do {
		cin >> tmpData;
		if (tmpData == 0)
			break;
		node = new link;
		node->data = tmpData;
		tail->next = node;
		tail = node;
		tail->next = NULL;
	} while (tmpData != 0);
	return head->next;
}

//遍历输出
void printLink(link *p){
	while (p != NULL) {
		cout << p->data << "  ";
		p = p->next;
	}
	cout << endl;
}
int main()
{
	link *head, *p_head, *p_tail;
	head = new link;
	head->next = NULL;
	//方式1:头插法创建单链表
	//p_head = creatLink_head(head);
	//printLink(p_head);

	//方式2:尾插法创建单链表
	p_tail = creatLink_tail(head);
	printLink(p_tail);
	
    return 0;
}

 

以上是关于创建单链表的主要内容,如果未能解决你的问题,请参考以下文章

单链表

数据结构代码(用C语言) 单链表的插入和删除

C语言单链表合并

单链表的创建—数据结构算法

数据结构单链表

C语言 单链表