zoukankan      html  css  js  c++  java
  • 数据结构实验之链表三:链表的逆置

    数据结构实验之链表三:链表的逆置

    Time Limit: 1000MS Memory Limit: 65536KB

    Submit Statistic

    Problem Description

    输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。

    Input

    输入多个整数,以-1作为结束标志。

    Output

    输出逆置后的单链表数据。

    Example Input

    12 56 4 6 55 15 33 62 -1

    Example Output

    62 33 15 55 6 4 56 12
    #include <stdio.h>
    #include <stdlib.h>
    #include <malloc.h>
    typedef struct node
    {
    	int data;
    	struct node *next;
    }list;
    int main()
    {
    	list *p,*head;
    	head = (list *)malloc(sizeof(list));
    	head->next = NULL;
    	int n;
    	while(scanf("%d",&n)!=EOF)
    	{
    		if(n==-1)
    		{
    			break;
    		}
    		else
    		{
    			p = (list *)malloc(sizeof(list));
    			p->data = n;
    			p->next = head->next;
    			head->next = p;
    		}
    	}
    	p = head->next;
    	while(p)
    	{
    		if(p->next!=NULL)
    		{
    			printf("%d ",p->data);
    		}
    		else
    		{
    			printf("%d\n",p->data);
    		}
    		p=p->next;
    	}
    
    	return 0;
    }
    
    只允许蒋文文转载。
    #include <stdio.h>
    #include <malloc.h>
    #include <stdlib.h>
    typedef struct LNode{
    	int data;
    	struct LNode *next; 
    }*LinkList,LNode;
    LinkList createLinkList(LinkList &head){
    	LNode *tail,*p;
    	head =tail = (LinkList)malloc(sizeof(LNode));
    	head->next = NULL;
    	tail = head;
    	tail->next = NULL;
    	int data=0;
    scanf("%d",&data);
    do
    {
    	p = (LinkList)malloc(sizeof(LNode));
    	p->next = NULL;
    	p->data = data;
    	p->next = tail->next; //顺序不能错
        tail->next = p;
    	scanf("%d",&data);
    }while(data!=-1);
    	return head;
    
    }
    void display(LinkList p){
    	p=p->next;
    	while(p){
    		if (p->next)
    		{
    			printf("%d ",p->data);
    		}else{
    			printf("%d\n",p->data);
    		}
    		p = p->next;
    	}
    
    }
    
    int main(){
    	LinkList linklist = NULL;
    	createLinkList(linklist);
    	display(linklist);
    	return 0;
    }
  • 相关阅读:
    Java for LeetCode 229 Majority Element II
    Java for LeetCode 228 Summary Ranges
    Java for LeetCode 227 Basic Calculator II
    Java for LintCode 颜色分类
    Java for LintCode 链表插入排序
    Java for LintCode 颠倒整数
    Java for LintCode 验证二叉查找树
    Java for LeetCode 226 Invert Binary Tree
    Java for LeetCode 225 Implement Stack using Queues
    Java for LeetCode 224 Basic Calculator
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782152.html
Copyright © 2011-2022 走看看