首页 > 其他分享 >kxwslmsps

kxwslmsps

时间:2023-02-14 22:47:24浏览次数:35  
标签:pre 结点 kxwslmsps mylist myLNode pnew phead

一、结构定义

/// 题目:在元素值等于key的结点前插入元素值为x的新结点
/// 1、定义遍历指针p,前驱指针pre指向p结点前驱,新结点指针pnew
/// 2、遍历链表,结点值等于key时,在pre与p结点之间插入pnew结点
/// 3、值不等于key时,跳过该结点,继续遍历
void yyy_insert(myLNode* phead, linkType key, linkType x)
{
	if (phead == NULL || phead->pnext == NULL)
	{
		return;
	}
	myLNode* p = phead->pnext;
	myLNode* pre = phead;
	myLNode* pnew = NULL;
	while (p != NULL)
	{
		if (p->data == key)
		{
			pnew = (myLNode*)malloc(sizeof(myLNode));
			assert(pnew);
			pnew->data = x;
			pnew->pnext = pre->pnext;
			pre->pnext = pnew;
		}
		pre = p;
		p = p->pnext;
	}
}

二、函数实现

void myprint(void* node)
{
	if (node == NULL)
	{
		return;
	}
	linkType* p = (linkType*)node;
	printf("%d->", *p);
}

/// @brief 测试函数
void test()
{
	/// 测试:init,input,output
	myLinkList mylist;
	xxx_init(&mylist);
	xxx_input(&mylist, 999);
	xxx_output(&mylist, myprint);
	printf("************************************************************\n");
	yyy_insert(mylist.phead, 3, 10);
	xxx_output(&mylist, myprint);

	printf("************************************************************\n");

	xxx_destroy(&mylist);

}
/// @brief main主函数
int main(int argc, char** argv)
{			   
	test();
	system("pause");
	return 0;
}

三、题目删除所有 元素

1、思路1
  • 难道不是吗
  • 难道是的吗
  1. 难道不是吗
  2. 难道浊吗
    • 是的吗
    • 是的吗
    • 是的啊
    • 对的呢
2、思路2

标签:pre,结点,kxwslmsps,mylist,myLNode,pnew,phead
From: https://www.cnblogs.com/kxwslmsps/p/17121108.html

相关文章