• 头插法和尾插法建立单链表


    //头插法建立单链表 
    #include <stdio.h>
    #include <malloc.h>
    
    typedef struct LNode{
    	int data;
    	struct LNode *next;
    }Node,*LinkList;
    
    LinkList HeadInsert(LinkList &);	//头插法建立单链表 
    void output(LinkList);	//遍历输出 
    
    int main(void){
    	LinkList L;
    	HeadInsert(L);
    	output(L);
    	return 0;
    } 
    
    //头插法建立单链表 
    LinkList HeadInsert(LinkList &L){
    	L = (Node *)malloc(sizeof(Node));
    	L->next = NULL;
    	int e;
    	scanf("%d",&e);
    	while(e != -1){		//输入-1表示结束输入 
    		Node *s = (Node *)malloc(sizeof(Node));
    		s->data = e;
    		s->next = L->next;
    		L->next = s;
    		scanf("%d",&e);
    	}
    	return L;
    }
    
    //遍历输出 
    void output(LinkList L){
    	Node *p = L->next;
    	while(p != NULL){
    		printf("%d ",p->data);
    		p = p->next;
    	}
    }
    
    //尾插法建立单链表 
    #include <stdio.h>
    #include <malloc.h>
    
    typedef struct LNode{
    	int data;
    	struct LNode *next;
    }Node,*LinkList;
    
    LinkList TailInsert(LinkList &);	//尾插法建立单链表 
    void output(LinkList);  
    
    int main(void){
    	LinkList L;
    	TailInsert(L);
    	
    	output(L);
    	return 0;
    }
    
    
    LinkList TailInsert(LinkList &L){		//尾插法建立单链表 
    	L = (Node *)malloc(sizeof(Node));
    	Node *r = L;
    	int e;
    	scanf("%d",&e);
    	while(e != -1){        //输入-1表示结束输入 
    		Node *s = (Node *)malloc(sizeof(Node));
    		s->data = e;
    		r->next = s;
    		r = s;
    		scanf("%d",&e);
    	}
    	r->next = NULL;
    	return L;
    }
    
    //遍历输出 
    void output(LinkList L){
    	Node *p = L->next;
    	while(p != NULL){
    		printf("%d ",p->data);
    		p = p->next;
    	}
    }
    
  • 相关阅读:
    babel的使用以及安装配置
    常见的浏览器兼容性问题与解决方案——CSS篇
    ES6入门——变量的解构赋值
    ES6入门——let和const命令
    第一个移动端项目
    向Github提交更改的代码
    MySQL安装配置
    HTTP 状态消息
    HTMl基础
    Shell 常用的命令
  • 原文地址:https://www.cnblogs.com/Timesi/p/12430418.html
Copyright © 2020-2023  润新知