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


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

    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;
    }
  • 相关阅读:
    关于label和span设置width无效问题解决方法
    CSS 去掉点li 的点
    margin标记可以带一个、二个、三个、四个参数,各有不同的含义。
    MyEclipse下打开ftl文件
    创业企业如何定制商业模式:把握不同行业生命周期,9大要素集中进行创新【转】
    WEB缓存初探
    word 2013如何从某一页开始插入页码
    Ubuntu 16.04 安装jdk
    vmware ubuntu安装vmware tools
    JSP学习
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782152.html
Copyright © 2020-2023  润新知