1.创建一个链表并输出

创建链表

#include <iostream>
#include <ostream>
using std::ostream;
class myList
{
public:
   myList(){}
   myList(int v_data)
   {
      data = v_data;
   }
   void setNextValue(myList* nextValue)
   {
      next = nextValue;
   }
   friend ostream& operator <<(ostream &output, myList myList);
   myList* next;
   int data;
};
ostream& operator <<(ostream &output, myList myList)
{
   output << myList.data;
   return output;
}
int main()
{
   myList l1(1);
   myList l2(2);
   myList l3(3);
   l1.setNextValue(&l2);
   l2.setNextValue(&l3);
   l3.setNextValue(0);
   myList* firstPtr = new myList();
   firstPtr = &l1;
   for (int i = 0; i < 3; ++i)
   {
      std::cout << *firstPtr << std::endl;
      firstPtr = firstPtr->next;
   }
   return 0;
}

CMakeList.txt

cmake_minimum_required(VERSION 2.8)
project (test1)
add_executable(insert insert.cpp)
install (TARGETS insert DESTINATION ${PROJECT_BINARY_DIR}/install)
install (FILES insert.cpp DESTINATION ${PROJECT_BINARY_DIR}/build)
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")

原文地址:https://www.cnblogs.com/aelite/p/9471498.html

时间: 2024-10-09 14:40:39

1.创建一个链表并输出的相关文章

剑指offer14:输入一个链表,输出该链表中倒数第k个结点。

1. 题目描述 输入一个链表,输出该链表中倒数第k个结点. 2. 思路和方法 可以用两个指针,一个指针遍历到第k个结点的时候,第二个指针再走到第一个节点,然后两个指针的距离始终保持k-1.这样,当第一个指针的next==NULL,也就是走到最后一个节点的时候,第二个指针对应的位置,就是倒数第k个结点.这样的好处是能够节省一个循环,时间复杂度会相应降低,从Q(2N) 降低到到Q(N). 注意,但是需要一个小循环让第一个指针先走到第k个指针.同时也存在结点总数小于k的问题,如果循环还没有进行到k次,

创建一个链表实例

<span style="font-family:KaiTi_GB2312;font-size:18px;">#include <stdio.h> #include <stdlib.h> /* 提供malloc()原型 */ #include <string.h> //提供strcpy原型 #define TSIZE 45 struct film { char title[TSIZE]; int rating; struct film *

反转一个链表并输出各个结点的值

1 typedef struct Link 2 { 3 int data; 4 struct Link* next; 5 }NODE,*pNODE; 1 void reverse(pNODE *pphead) 2 { 3 pNODE pcur = *pphead, ppre = NULL, ptemp; 4 while(pcur != NULL) 5 { 6 ptemp = pcur->next; 7 pcur->next = ppre; 8 ppre = pcur; 9 pcur = pte

颠倒一个链表的顺序 C++

首先我们定义一个头结点: struct Node{ int data; Node*next; }; 接下来我们写一个函数来创建一个链表: //a是一个数组,n代表数组元素的个数 Node*createLinkList(int a[],int n) { if(a==NULL||n==0) return NULL; Node*L,*T=NULL; for(int i=0;i<n;i++) { if(i==0) {L=new Node; L->data=a[i]; L->next=NULL;

实现你的第一个链表——手把手教你创建单向链表

写在前面 这是我原发在独立博客上的文章,用来帮助初学链表的同学们理解链表,现在发在这里供大家批评. 为什么要使用链表? 这是我们首先要考虑的一个问题,我们之前已经学过了数组的使用,可以方便快速地存储大量数据,为何还要引入"链表"的概念呢? 比如我们让50个小朋友排排坐,那事情是很好办的:只需要准备50个椅子,让小朋友们依次坐好即可,这就是数组的使用.但是,如果我们预先不知道有多少小朋友,那事情就不好办了,我们可能需要准备大量的椅子,但这就会浪费很多空间:此外,如果一个新来的小朋友必须进

C语言:创建动态单向链表,创建完成后,输出每一个节点的数据信息。

// //  main.c //  dynamic_link_list // //  Created by ma c on 15/8/5. //  Copyright (c) 2015年 bjsxt. All rights reserved. //  要求:写一个函数建立有3名学生数据的动态单向链表,并输出链表中每个结点的所有内容. /* 建立动态链表的思想: 1.开辟一个新结点,并使p1,p2指向它: 2.读入一个学生数据给p1所指的结点: 3.head = NULL,n = 0; 4.判断读

13输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。

转载请注明出处:http://www.cnblogs.com/wuzetiandaren/p/4250795.html 声明:现大部分文章为寻找问题时在网上相互转载,此博是为自己做个记录记录,方便自己也方便有类似问题的朋友,本文的思想也许有所借鉴,但源码均为本人实现,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 题目:输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针. 题目分析: 1.链表的倒数第0个结点为链表的尾指针,设为r,则r指向最后一

创建Vue.js对象:我的第一个Vue.js输出信息

<!DOCTYPE html><html><head><meta charset=”utf-8″><title>Vue第一条信息</title><script src=”js/vue.js”></script></head><body><div id=”app”><p>{{ message }}</p></div> <script&g

26、输入一个链表,反转链表后,输出链表的所有元素。

输入一个链表,反转链表后,输出链表的所有元素. 思路:  ListNode next = null;//用来保存待反序的第一个节点(head 和 next节点) ListNode pre = null;//用来保存已经反序的第一个结点 next = head.next;//首先记录当前节点的下一个节点,(保存起来) //先用next保存head的下一个节点的信息,保证单链表不会因为失去head节点的原next节点而就此断裂 head.next = pre;//让当前节点指向前一个节点,因为要反序