zoukankan      html  css  js  c++  java
  • 数据结构之链表


    /*
    	作者: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;
    }


  • 相关阅读:
    Chrome技巧
    jQuery中.bind() .live() .delegate() .on()的区别
    BRAVEHEART勇敢的心威廉姆华莱士战场演讲
    CSS3小模块hover左右交替互换动画
    sublime text 3
    百度图片搜索页的图片展示列表模块jquery效果
    出埃及记:摩西劈开红海
    用位数组计算整数中1的个数
    Using the XPath Wrappers
    【转】为Xcode 4挑选自己喜欢的字体和颜色(Panic Sans)
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7211386.html
Copyright © 2011-2022 走看看