《C语言》双向链表的增、删、查、改、销毁、快速排序

本文介绍如何使用C语言实现双向链表的插入、删除、查找、修改和销毁等基本操作,并探讨如何对链表进行快速排序,包括Main.c、DoubleList.h和DoubleList.c三个文件的详细实现。
摘要由CSDN通过智能技术生成

双向链表的增、删、查、改、销毁、快速排序

Main.c

#include "DoubleList.h"
#include <time.h>



void main()
{
   

/*******************头部插入*******************/
#if 0
	DoubleList List = {
   0};

	for (int i = 0; i < 10; i++)
	{
   
		PushHead(&List, i);
	}

	Show(List);
	ShowRev(List);
#endif 

	/*******************尾部插入*******************/
#if 0
	DoubleList List = {
    0 };

	for (int i = 0; i < 10; i++)
	{
   
		PushBack(&List, i);
	}

	Show(List);
	ShowRev(List);
#endif 


	/*******************正向查找节点*******************/
#if 0
	DoubleList List = {
    0 };

	for (int i = 0; i < 10; i++)
	{
   
		PushBack(&List, i);
	}

	Show(List);
	ShowRev(List);

	Node* P_Res[10] = {
    0 };

	for (int i = 0; i < 10; i++)
	{
   
		if (NULL != FindNode(List, i))
		{
   
			P_Res[i] = FindNode(List, i);
		}
	}
	for (int i = 0; i < 10; i++)
	{
   
		NULL != P_Res[i] ? printf("%d\n", P_Res[i]->Data):0;
	}

#endif 


	/*******************反向查找节点*******************/
#if 0
	DoubleList List = {
    0 };

	for (int i = 0; i < 10; i++)
	{
   
		PushBack(&List, i);
	}

	Show(List);
	ShowRev(List);

	Node* P_Res[10] = {
    0 };

	for (int i = 0; i < 10; i++)
	{
   
		if (NULL != FindNode(List, i))
		{
   
			P_Res[i] = FindNodeRev(List, i);
		}
	}
	for (int i = 0; i < 10; i++)
	{
   
		NULL != P_Res[i] ? printf("%d\n", P_Res[i]->Data) : 0;
	}

#endif 


	/*******************指定位置插入节点*******************/
#if 0
	DoubleList List = {
    0 };

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值