建立带头结点的双向链表_尾插法
生活随笔
收集整理的這篇文章主要介紹了
建立带头结点的双向链表_尾插法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
// -------------------------------------------------------
//2014--03--14
// 建立雙向鏈表
// 程序分析:雙向鏈表的節(jié)點有兩個指針域,一個指向直接前驅(qū),另一個指向直接后繼。
// 其中第一個節(jié)點的前驅(qū)指針為NULL ,最后一個節(jié)點的直接后繼指針為NULL ;
// -------------------------------------------------------#include <stdio.h>
#include <time.h>
#include <malloc.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
// -------------------------------------------------------
//*******************************************************
// 結(jié)構(gòu)名:DouLNode ;
// 結(jié)構(gòu)說明:該結(jié)構(gòu)為雙向鏈表的節(jié)點結(jié)構(gòu) ,其中有兩個指針,一個關(guān)鍵字
// 參數(shù)說明:data 關(guān)鍵字
// prior 指向直接前驅(qū)的指針
// next 指向后繼節(jié)點的指針
//*******************************************************
struct DouLNode
{int data;DouLNode *prior;DouLNode *next ;
};
// -------------------------------------------------------
//*******************************************************
// 函數(shù)名:DouLinkCreate();
// 函數(shù)功能:建立一個雙向鏈表,
// 參數(shù)說明:head 為一個指向雙向鏈表頭節(jié)點的指針
// size 為雙向鏈表節(jié)點的個數(shù)
// 注意:這里的雙向鏈表帶有頭結(jié)點,利用的是尾插法。
//*******************************************************
void DouLinkCreate(DouLNode *&head , int size )
{// 建立第一個節(jié)點,配置節(jié)點記憶體head = (DouLNode*)malloc(sizeof(DouLNode) );head->data = 0 ;head->prior= NULL ;head->next = NULL ;DouLNode * p = head; // 指向頭結(jié)點for (int i =0;i<size ;++ i){DouLNode* q = (DouLNode*)malloc(sizeof(DouLNode) );q->data = i+1;q->next = NULL ;q->prior = p;p->next = q ;p = q ;}}
// -------------------------------------------------------
int main()
{DouLNode * head ;DouLinkCreate(head ,10 );DouLNode * p = head ;DouLNode * q = NULL ;p = p->next ;while (p != NULL ){cout << p->data << endl; // 從前往后輸出q = p ;p = p->next ;}cout << endl;while (q != head ){cout << q->data << endl; // 從后往前輸出q = q->prior ;}return 0;
}
// -------------------------------------------------------
總結(jié)
以上是生活随笔為你收集整理的建立带头结点的双向链表_尾插法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++移位得到int型最大值
- 下一篇: 吴恩达《机器学习》学习笔记十二——机器学