码迷,mamicode.com
首页 > 其他好文 > 详细

单向链表

时间:2016-06-16 16:20:42      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

#include <iostream>
using namespace std;

//单个节点
struct List{
    int data;     //数据
    List * pNext; //下一个节点
};

//向后追加
void push_back(List *&pRoot,int data){
    
    auto tempNode = new List;
    tempNode->data = data;
    tempNode->pNext = NULL;
    
    if(pRoot==NULL){
        pRoot = tempNode;
    }else{
        auto t_node = pRoot;
        while (t_node->pNext!=NULL) {
            t_node = t_node->pNext;
        }
        t_node->pNext = tempNode;
    }
}

//弹出最后一个
void pop(List *pRoot){
    if(pRoot==NULL){return;}
    auto t_node = pRoot;
    while (t_node->pNext->pNext!=NULL) {
        t_node = t_node->pNext;
    }
    delete t_node->pNext;
    t_node->pNext = NULL;
}

//释放
void release(List *&pRoot){
    if(pRoot==NULL){return;}
    auto t_node = pRoot;
    while(t_node!=NULL){
        auto temp = t_node->pNext;
        delete t_node;
        t_node = NULL;
        t_node = temp;
    }
    pRoot=NULL;
}

//遍历
void prontList(List * pRoot){
    if(pRoot==NULL){
        cout<<"该链表为空!"<<endl;
        return;
    }
    auto t_node = pRoot;
    while (t_node!=NULL) {
        cout<<"["<<t_node->data<<"]";
        t_node = t_node->pNext;
    }
}

//创建单向链表
List * createList(int data[],int len){
    List * pRoot = NULL; //根
    for(int i=0;i<len;i++){
       push_back(pRoot,data[i]);
    }
    return pRoot;
}

int main(){
    
    cout<<"请输入节点数:"<<endl;
    int num; cin>>num; (num>100)?num=100:(num<1)?num=1:num;
    int * data = new int[num];
    
    cout<<"请输入"<<num<<"个节点的数据:"<<endl;
    for(int i=0;i<num;i++){
        cin>>data[i];
    }
    
    cout<<"单向链表创建中...."<<endl;
    auto list = createList(data,num);
    
    cout<<"创建完成,打印如下:"<<endl;
    prontList(list);
    
    cout<<"\n资源释放中...."<<endl;
    release(list);
    delete[] data;
    data = NULL;
    cout<<"资源释放成功!"<<endl;
    
    return 0;
}

  

单向链表

标签:

原文地址:http://www.cnblogs.com/spriteZ/p/5591289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!