一个简单的不带头节点链表

pointlink.h

#ifndef _POINTLINK_H_
#define _POINTLINK_H_

#include<stdio.h>
#include<malloc.h>
#include<conio.h>

typedef struct POINT{
	int row;
	int col;
	struct POINT *next;
}POINT;

void initPointLink(POINT **h);
void showPoints(POINT *h);
void showPoint(POINT point);
void destoryPointLink(POINT **h);
#endif



pointlink.c

#include"pointlink.h"
void destoryPointLink(POINT **h){
	POINT *p;

	while(*h){
		p = *h;
		*h = p->next;
		free(p);
	}
}
void showPoint(POINT point){
	printf("(%d, %d)\n",point.col,point.row);
}
void showPoints(POINT *h){
	if(h){
		for( ;h;h = h->next)
			showPoint(*h);
	}else{
		printf("无数据");
	}
}
void initPointLink(POINT **h){
	POINT *p;
	POINT *q;
	int row;
	int col;

	if(*h){
		printf("链表已经初始化,不能再次初始化");
	}else{
		printf("请输入坐标\n");
		scanf("%d%d",&row,&col);

		while(row && col){
			p = (POINT *)malloc(sizeof(POINT));
			p->row = row;
			p->col = col;
			p->next = NULL;
			if(*h = NULL)
				*h = p;
			else
				q->next = p;
			q = p;
			printf("请输入坐标\n");
			scanf("%d%d",&row,&col);
		}
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值