数据结构之链表


/*
	作者:wtt561111
	日期:2015/7/19
	编译环境:vc6.0 Windows 64b
*/
#include "stdio.h"
#include "stdlib.h"
typedef struct Node * PNode;
struct Node {
	int info;
	PNode link;
};
typedef struct Node * LinkList;
/*
	创建一个空的链表
*/
LinkList createNullList(void){
	LinkList llist=(LinkList)malloc(sizeof (struct Node));
	if(llist==NULL){
		printf("out of space
");
		return NULL;
	}
	llist->link=NULL;
	return llist;
}
/***************************************************************/

/*
	推断链表是否为空,为空返回1,否则返回0;
*/
int isNullList_link(LinkList llink){
	if(llink->link==NULL){
		return 1;
	}
	return 0;
}
/***************************************************************/

/*
	返回数据为x的节点
*/
PNode locate_link(LinkList llink,int x){//之前把逗号写成中文的,结果不识别int,导致兴许错误
	PNode p;
	if(llink==NULL)return NULL;
	p=llink->link;
	while(p != NULL && p->info !=x)p=p->link;
	return p;
}
/***************************************************************/


/*
	在p所指的节点前插入x。成功返回1,否则返回0
*/
int insertPost_link(LinkList llist,PNode p,int x){//之前把逗号写成中文的,结果不识别int。导致兴许错误
	PNode q=(PNode)malloc(sizeof(struct Node));
	if(q==NULL){
		printf("out of space");
		return 0;
	}else{
		q->info=x;q->link=p->link;p->link=q;return 1;
	}
}
/***************************************************************/


/*
	删除值域为x的节点,成功返回1,否则返回0
*/
int deleteV_link(LinkList llist,int x){//之前把逗号写成中文的,结果不识别int。导致兴许错误
	PNode p,q;
	p=llist;
	if(p==NULL)
		return 0;
	while(p->link != NULL && p->link->info != x)
		p=p->link;
	if(p->link ==NULL){
		printf("not exist!
");
		return 0;
	}else{
		q=p->link;
		p->link=q->link;
		free(q);
		return 1;
	}

}
/***************************************************************/

/**********************************主函数***********************/
int main(){
	LinkList llist_get=createNullList();
    insertPost_link(llist_get,llist_get,222);
	insertPost_link(llist_get,llist_get,333);
	deleteV_link(llist_get,333);
	printf("%d",llist_get->link->info);

//	printf("%d
",llist_get->link->info);
//	printf("%d
",llist_get->link->link->info);
	return 0;
}


原文地址:https://www.cnblogs.com/yxysuanfa/p/7211386.html