• 创建单链表


    还记得创建单链表的这些代码还是大学时候写过,现在再重新写一写,为面试做准备吧:

    创建单链表的两种形式:头插法和尾插法

    // 演示创建2种单链表的方式
    // 【C++基础】单链表.cpp
    
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    struct link {
    	int data;
    	link *next;
    };
    
    //头插法建立单链表
    link *creatLink_head(link *head) {
    	link *node;
    	int tmpData;
    	cout << "输入元素,以空格分隔:";
    	do {
    		cin >> tmpData;
    		if (tmpData == 0)
    			break;
    
    		node = new link;
    		node->data = tmpData;
    		node->next = head->next;
    		head->next = node;
    
    	} while (node->data != 0);
    	return head->next;
    }
    
    //尾插法建立单链表
    link *creatLink_tail(link *head) {
    	link *node, *tail = head;
    	int tmpData;
    	cout << "输入元素,以空格分隔:";
    	do {
    		cin >> tmpData;
    		if (tmpData == 0)
    			break;
    		node = new link;
    		node->data = tmpData;
    		tail->next = node;
    		tail = node;
    		tail->next = NULL;
    	} while (tmpData != 0);
    	return head->next;
    }
    
    //遍历输出
    void printLink(link *p){
    	while (p != NULL) {
    		cout << p->data << "  ";
    		p = p->next;
    	}
    	cout << endl;
    }
    int main()
    {
    	link *head, *p_head, *p_tail;
    	head = new link;
    	head->next = NULL;
    	//方式1:头插法创建单链表
    	//p_head = creatLink_head(head);
    	//printLink(p_head);
    
    	//方式2:尾插法创建单链表
    	p_tail = creatLink_tail(head);
    	printLink(p_tail);
    	
        return 0;
    }
    
  • 相关阅读:
    使用opencv工程
    面试官最爱问的问题背后真相
    哎,哎,去了清华园
    突然发现兰皙欧洗面奶不错
    crs.exe 进程管理里面的流氓进程之封杀
    初步使用OpenCV
    动态网站基础
    Java IO -- 序列化的疑问
    建造模式
    MYSQL 从头开始-2(join)
  • 原文地址:https://www.cnblogs.com/xuelisheng/p/9225810.html
Copyright © 2020-2023  润新知