zoukankan      html  css  js  c++  java
  • 九度 从尾到头打印链表

    /*
     * c.cpp
     *
     *  Created on: 2013-10-7
     *      Author: wangzhu
     */
    
    #include<cstdio>
    #include<stack>
    #include<iostream>
    using namespace std;
    struct Node {
        int key;
        Node* next;
    };
    /**
     * 尾插法:超时
     */
    void addToTail(Node* root, int value) {
        Node* node = new Node();
        node->key = value;
        node->next = NULL;
        if (root->next == NULL) {
            root->next = node;
        } else {
            Node* tempNode = root->next;
            while (tempNode->next != NULL) {
                tempNode = tempNode->next;
            }
            tempNode->next = node;
        }
    }
    
    /**
     * 头插法:Accepted
     */
    void addTohead(Node *root, int value) {
        Node* tempNode = root->next;
        Node* node = new Node;
        node->key = value;
        node->next = tempNode;
        root->next = node;
    }
    
    void printToStack(Node* root) {
        stack<Node*> nodeStack;
        Node* tempNode = root->next;
        while (tempNode != NULL) {
            nodeStack.push(tempNode);
            tempNode = tempNode->next;
        }
        while (!nodeStack.empty()) {
            tempNode = nodeStack.top();
            printf("%d
    ", tempNode->key);
            nodeStack.pop();
        }
    }
    
    void diqu(Node* node) {
        if (node != NULL) {
            if (node->next != NULL) {
                diqu(node->next);
            }
            printf("%d
    ", node->key);
        }
    }
    void print(Node *node) {
        while (node != NULL) {
            printf("%d
    ", node->key);
            node = node->next;
        }
    }
    int main() {
        freopen("data.in", "r", stdin);
        int n;
        Node* root = new Node();
        root->next = NULL;
        while(~scanf("%d",&n)) {
            if( 0 > n) {
                break;
            }
            //addToTail(root,n);
                addTohead(root,n);
            }
            //printToStack(root);
            print(root->next);
            return 0;
        }
  • 相关阅读:
    目前游戏行业内部主要几款游戏引擎的技术对比(转)
    Windows平台下为Python添加MongoDB支持PyMongo
    Android_ContentProvider
    Android 手风琴效果实现
    SQLiteOpenHelper与SQLiteDatabase
    sqlite基础语法
    关于Android studio git Authentication failed
    Android 6.0动态权限获取
    Android_数据存储
    Android_CardView
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/3355793.html
Copyright © 2011-2022 走看看