⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test5.cpp

📁 实现链表的动态建立
💻 CPP
字号:
#include "stdio.h"
#include "malloc.h"
typedef int DataType;
typedef struct Node
{
	DataType Data;
	struct Node *Next;
}LNode,*PNode,*LinkList;
int InitList(LinkList *h)
{
	*h = (LinkList)malloc(sizeof(LNode));
	if(!h){printf("初始化失败!");return 0;}
	(*h)->Next=NULL;
	return 1;
}
int ListInsert(LinkList h,int pos,DataType item)
{
	PNode p=h,q;
	q = (PNode)malloc(sizeof(LNode));
	if(!q){printf("初始化失败!");return 0;}
    int i=0;
	while(p && i<pos-1)
	{
		p=p->Next;
		i++;
	}
	if(!p || i>pos-1){printf("插入位置不合法!");return 0;}
    q->Data=item;
	q->Next=p->Next;
	p->Next=q;
	return 1;
}
void TraverseList(LinkList h)
{
	PNode p=h->Next;
    if(h==NULL)printf("该链表为空,无法进行输出显示!");
	while(p)
	{printf("%d\t",p->Data);
	p=p->Next;
	}
}
void DestroyList(LinkList h)
{
	PNode p=h->Next;
    while(h)
	{
		p=h;
		h=h->Next;
		free(p);      		
	}
}
void main()
{
	LinkList h;
	DataType items[5];
	int i;
	for(i=0;i<5;i++)
	{
		items[i]=i+1;
	}
	InitList(&h);
	for(i=0;i<5;i++)
	{
	ListInsert(h,i+1,items[i]);
	}
	TraverseList(h);
	printf("\n");

    DestroyList(h);
	printf("\n");

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -