尾插法———链表,初学者详解版

尾插法———链表,初学者详解版,第1张

尾插法———链表,初学者详解版
#include /系统函数。
#include 因为要使用malloc函数。
struct Node                           
{//全局变量
	int data;                          
	struct Node* next;                 
}; 
typedef struct Node Node;              

Node* Create();		                    //返回值是Node类型的函数 
void Print(Node* head);	//传入指针   	
void Release(Node* head);				

int main()//主函数。
{
	Node* head;                        //
	head = Create();                   
	Print(head);                       //只用
	Release(head);                  
	return 0;
}

Node* Create()
{
	Node* head, * tail, * p;  	//头,尾,运动指针//  
	int num;//给输入空间
	head = tail = NULL;		    
	printf("请输入一批数据,以-9999结尾: n");//如果不按要求就会失败。
	scanf_s("%d", &num);
	while (num != -9999)				
	{
		p = (Node*)malloc(sizeof(Node));	
		p->data = num;  	 
		p->next = NULL;           
		//分情况讨论 挺标准化的。
		if (NULL == head)            
		{
			head = p;				  //p就像TRNA一样,合成蛋白质。
		}
		else                       //尾插法
		{
			tail->next = p;			  
		}
		tail = p;	//一定要经过的步骤 
		scanf_s("%d", &num);         
	}
	return head;                     
}

void Print(Node* head)
{
	Node* p;           //上一个函数的p是局部变量 
	p = head;                        
	if (NULL == head)               
	{
		printf("链表为空!n");
	}
	else
	{
		printf("链表如下n");//经典步骤
		while (p != NULL)           
		{
			printf("%d  ", p->data);  
			p = p->next;              
		}
	}
	printf("n");
}

void Release(Node* head)           
{
	Node* p1, * p2;                 
	p1 = head;                                                                                                                                                                                                                                                                  
	while (p1 != NULL)
	{
		p2 = p1;                   
		p1 = p1->next;              
		free(p2);                   
	}
	printf("链表释放内存成功!n");
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5690498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存