C link table question

转载 2013年12月02日 16:09:10

How to serach the middle element of the link table

#include <iostream>   
using namespace std;  
struct node{  
  node *next;  
  int data;   
};  
//用一个类封装链表的操作    
class linknode{  
    public:  
    linknode(){  
    head = new node;  
    head->next = NULL;  
    }  
    ~linknode(){  
      delete head;    
    }  
    //销毁所有资源    
    void Clear(){  
      node *p,*q;  
      p = head;  
      while(p){  
        q = p->next;  
      delete p;  
      p = q;      
      }  
      //注意这里    
      head->next = NULL;  
      cout << "OK,destroyed all elements" << endl;  
    }  
    //尾插法    
    void Create(int n){  
        node *p,*q;  
        int data;  
        p = head;  
       while(n--){  
          q = new node;  
          cout << "input data:";  
          cin >> data;  
          q->data = data;  
          q->next = NULL;  
          p->next = q;  
          p = q;  
       }  
        
    }  
    void Output(){  
       node *p;  
       //注意,不要写成p = head;因为头结点没有保存数据    
       p = head->next;  
       while(p){  
        cout << p->data << " ";  
         p = p->next;  
       }  
       cout << endl;  
    }  
    //查找中间的元素    
    node* findMid(){  
        node *p1,*p2;  
        p1 = head;  
        p2 = head;  
        while(p1 != NULL && p2 != NULL){  
          p1 = p1->next->next;  
          p2 = p2->next;   
        }  
        return p2;  
    }  
    private:  
       node *head;  
};  
int main(){  
  linknode lk;  
  node *tmp;  
  lk.Create(5);   
  lk.Output();  
  tmp = lk.findMid();  
  cout << tmp->data << endl;  
  lk.Clear();  
}  


 

 

 

相关文章推荐

Qlikview Data Modeling---创建一个Key/Link Table

这一篇我们将来学习下在什么情况下需要在QlikView里创建一个Key或者Link Table来避免事实表loops 和 qlikview自动产生synthetic keys。当两个事实表共享同样的键...

Description of the default C and C++ libraries that a program will link with when built by using Vis

When you build a release (or debug) version of your project in Visual C++, one of the basic C Runtim...

“warning C4996: 'fopen': This function or variable may be unsafe”和“LINK : fatal error LNK1104”的解决办法

程序有时编译出现警告C4996,报错:  warning C4996: 'fopen': This function or variable may be unsafe. Consider using...
  • dcrmg
  • dcrmg
  • 2016-12-31 12:47
  • 409

C link

C link

用J-Link调试S3C6410(2) --- 运行Leds程序:jink原理

给出出处:http://blog.chinaunix.net/space.php?uid=20587912&do=blog&id=405192 其他详情看出处 jink原理图 用J-...

Problem<c>( Link-cut tree )

有一棵n个节点的树,每个节点有一个颜色,初始每个节点颜色不相同,且以节点1为根。定义每个点的权值为这个点到根的路径上不同颜色的个数。现在进行m次操作,每次操作为下列三种之一: 1、将x到当前根路径上...
  • cyc66
  • cyc66
  • 2015-07-31 00:58
  • 157

The C Book — Table of Contents

  • 2008-11-26 11:03
  • 3.13MB
  • 下载

【I2C设备驱动】必须将id_table[]数组的最后一个元素设置为空的原因

忘记了在哪本书上看到过,说必须给 I2C 设备驱动的 id 表数组添加上一个空元素作为最后一个元素,就像下面的代码所展示的那样:struct i2c_device_id { char name...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)