单链表//插入

#include<iostream>
using namespace std;
typedef struct lnode
{
	int data;
	lnode* next;
}lnode, * linklist;
void creatlist_r(linklist& l, int n)//尾插法
{
	l = new lnode;
	l->next = NULL;
	lnode* r = l;
	for (int i = 0; i < n; i++)
	{
		linklist p = new lnode;
		cin >> p->data;
		p->next = NULL;
		r->next = p;
		r = p;
	}
}
void pr_(linklist l)
{
	lnode* p = l->next;
	while (p)
	{
		cout << p->data << "  ";//输出格式必须这样!!
		p = p->next;
	}
}
int insert(linklist& l, int n, int e)
{
	lnode* p = l;
	linklist x;
	int i = 1;
	while (p && i < n)
	{
		p = p->next; ++i;
	}
	if (!p || i > n)return 0;
	x = new lnode;
	x->data = e;
	x->next = p->next;
	p->next = x;
	return 0;
}
int main()
{
	linklist haha;
	int n,a,e;
	cout << "请输出要输入的个数:";
	cin >> n;
	creatlist_r(haha, n);
	pr_(haha);
	cin >> a>>e;
	insert(haha, a, e);
	pr_(haha);
}

发布了38 篇原创文章 · 获赞 2 · 访问量 1204

猜你喜欢

转载自blog.csdn.net/weixin_44811068/article/details/102995176