zoukankan      html  css  js  c++  java
  • 2016.5.25——链表初始化及输出

    链表初始化及输出

    刷lleetcode题时不会写mian函数,于是把链表的几种输出总结一下。

    1 #include "stdafx.h"
      2 #include "iostream"
      3 #include "vector"
      4 #include "string"
      5 using namespace std;
      6 
      7 struct ListNode
      8 {
      9     char val;
     10     ListNode *next;
     11     ListNode(char x) : val(x), next(NULL){};
     12 };
     13 
     14 //单个节点值输入1
     15 int _tmain(int argc, _TCHAR* argv[])
     16 {
     17     ListNode *head1, *head2, *node1,*node2,*node3;
     18     node1 = new ListNode(2);
     19     node2 = new ListNode(5);
     20     node3 = new ListNode(8);
     21     
     22     //head1 = node1;
     23     //node1->next = node2;
     24     //node2->next = node3;
     25     //node3 ->next = NULL;
     26     head2 = node3;
     27     node3->next = node2;
     28     node2->next = node1;
     29     node1->next = NULL;
     30     while (head2 != NULL)
     31     {
     32         //cout << "aa" << endl;
     33         cout << head2->val << " ";
     34                 head2 = head2->next;                                        
     35     }
     36     cout << endl;
     37     system("pause");
     38     return 0;
     39 }
     40 
     41 //单个节点值输入2
     42 int main()
     43 {
     44     ListNode head(0), node1(1), node2(3),node3(3);
     45     head.next = &node1;        //head.next
     46     node1.next = &node2;
     47     node2.next = &node3;
     48     node3.next = NULL;
     49     while (head.next != NULL)
     50     {
     51         //cout << head.val << endl;
     52         //if (head.next == NULL)
     53         //{
     54         //    cout << "aa" << endl;
     55         //    break;
     56         //}
     57         cout << head.val <<' ';
     58         head = *(head.next);
     59     }
     60     cout << endl;
     61     system("pause");
     62     return 0;
     63 }
     64 
     65 //固定数组输入
     66 int main()
     67 {
     68     vector<int> nums = { 0, 1, 2, 3 };
     69     ListNode *head, *node;                //指针时一定注意为NULL,会出错,防止为NULL,可用if语句,看是否进if语句
     70     head = new ListNode(nums.at(0));
     71     for (size_t i = 1; i < nums.size(); i++)
     72     {
     73         node = new ListNode(nums.at(i));
     74         head->next = node;            //这两句注意是谁
     75         head = head->next;
     76         cout << head->val << ' ';
     77     }
     78     cout << endl;
     79     system("pause");
     80     return 0;
     81 }
     82 
     83 //动态输入
     84 int main()
     85 {
     86     int nums[4] = {};
     87     for (int i = 0; i < 4; i++)
     88         cin >> nums[i] ;
     89     
     90     ListNode *head, *node;
     91     head = new ListNode(nums[0]);
     92     for (int j = 0; j < 4; j++)
     93     {
     94         node = new ListNode(nums[j]);
     95         head->next = node;
     96         head = head->next;
     97         cout << head->val << " ";
     98     }
     99     cout << endl;
    100     system("pause");
    101     return 0;
    102 }
    103 
    104 int main()
    105 {
    106     char nums[4] = {};
    107     for (int i = 0; i < 4; i++)
    108         cin >> nums[i];
    109 
    110     ListNode *head, *node;
    111     head = new ListNode(nums[0]);
    112     for (int j = 0; j < 4; j++)
    113     {
    114         node = new ListNode(nums[j]);
    115         head->next = node;
    116         head = head->next;
    117         cout << head->val << " ";            //字符串型,不仅需要改main函数,还需要改struct中的类型
    118     }
    119     cout << endl;
    120     system("pause");
    121     return 0;
    122 }
  • 相关阅读:
    数据库的逻辑结构与物理结构
    HTTP笔记整理(1)
    当我看懂这张图的时候很痛苦~~~
    软件测试面试分享(转)
    达梦(DM)数据库Linux部署安装
    进阶的小小测试~软件测试不得不知的基础知识
    软件测试分类
    浅说软件需求分析
    浅说《测试用例》----给测试新手的
    软件测试人员两极分化
  • 原文地址:https://www.cnblogs.com/zhuzhu2016/p/5527434.html
Copyright © 2011-2022 走看看