test5.cpp

来自「实现链表的动态建立」· C++ 代码 · 共 73 行

CPP
73
字号
#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 + =
减小字号Ctrl + -
显示快捷键?