- 浏览: 443086 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
su6838354:
我有点疑问啊,thread1中的i自增的慢的话,thread2 ...
浅析pthread_cond_wait -
zeronever:
请问pthread_cond_signal有解锁操纵吗?我在p ...
浅析pthread_cond_wait -
paladin1988:
你这帖子真心不错。。
浅谈bitmap算法 -
parabellum_sky:
昨天还有个姑娘让我去考我说会考虑
个人日志
//LinkList.h //Define the Node of Link struct List { int Data; struct List *Next; }; typedef struct List Node; typedef Node *Link; class LinkList { public: LinkList(); ~LinkList(); //The method of the class bool InitList(); bool DestoryList(); bool ClearList(); bool IsEmpty(); bool InsertNode(int Data); bool SetNodeData(int Data_old,int Data_new); void PrintLink(); bool DeleteNode(int Data); private: Link m_Link; int m_Data; };
//LinkList.cpp #include <iostream> using namespace std; #include "LinkList.h" //The method of class LinkList LinkList ::LinkList() { m_Link = NULL; m_Data = 0; InitList(); } LinkList ::~LinkList() { if(!DestoryList()) { DestoryList(); } } bool LinkList::InitList() { //初始化一个新的节点 if(!(m_Link = new Node())) return false; else { m_Link->Next = NULL; return true; } } bool LinkList ::InsertNode(int Temp_Data) { Link New ; Link Pointer; New = new Node(); New->Data = Temp_Data; New->Next = NULL; if(m_Link->Data == 0) { m_Link->Data = Temp_Data; } else { Pointer = m_Link; while(Pointer->Next != NULL) { Pointer = Pointer->Next; } Pointer->Next = New; } return true; } bool LinkList::IsEmpty() { if(m_Link != NULL) return false; else return true; } bool LinkList::SetNodeData(int Data_old,int Data_new) { Link Pointer; Pointer = m_Link; if(!IsEmpty()) { while(Pointer != NULL) { if(Pointer->Data == Data_old) { Pointer->Data = Data_new; break; } Pointer = Pointer->Next; } } return true; } void LinkList::PrintLink() { Link Pointer; Pointer = m_Link; int Temp =0; while(Pointer != NULL) { cout << "The Position of this Node :" << Temp << " " << "The content of this Node :" << Pointer->Data << endl; Temp ++; Pointer = Pointer->Next; } } bool LinkList::DeleteNode(int Data) { bool Temp = false; Link Pointer; Link Back; Pointer = m_Link; if(IsEmpty()) { cout << "The Link is NULL" << endl; return Temp; } //删除首节点 if(Pointer->Data == Data) { m_Link = Pointer->Next; free(Pointer); } else { Back = Pointer; Pointer = Pointer->Next; while(Pointer != NULL) { if(Pointer->Data == Data) { Back->Next = Pointer->Next; free(Pointer); Temp = true; break; } } } return Temp; } bool LinkList::ClearList() { if(m_Link == NULL) return false; Link Pointer; while( m_Link != NULL) { Pointer = m_Link; m_Link = Pointer->Next; free(Pointer); } return true; } bool LinkList::DestoryList() { if(!ClearList()) { return false; } delete m_Link; return true; } int main() { LinkList Temp; Temp.InsertNode(20); Temp.InsertNode(30); Temp.InsertNode(40); Temp.InsertNode(50); Temp.PrintLink(); Temp.SetNodeData(20,100); Temp.PrintLink(); return 0; }
发表评论
-
Google编程风格
2012-04-01 17:05 1134Google编程风格(自己整 ... -
VS2008快捷键的设置
2012-02-02 13:43 2687VS2008快捷键的设置 VS2008默认的快捷键和VC++ ... -
LINK : fatal error LNK1000: Internal error during IncrBuildImage
2011-12-16 17:07 1248Win7安vc2008编译报LINK : fatal erro ... -
volatile关键字(摘自:百度百科)
2011-12-16 14:59 747volatile关键字[align=center][/alig ... -
InterlockedIncrement
2011-12-16 14:44 2213InterlockedIncrement[align=cent ... -
关键词explicit
2011-12-10 20:32 872关键词explicit[size=large][/size][ ... -
Souce Insight 设置
2011-12-09 17:16 2026Souce Insight 设置 【问题】 Source I ... -
VS2008下Boost库的安装编译下载boost库
2011-11-09 19:19 2082下载boost库 (最好去官网下,一般有SGI(GCC+用的较 ... -
C++多态技术的实现和反思(转)
2011-10-17 17:05 858面向对象技术最早出现于1960年代的Simula 67系统,并 ... -
memmove and memcpy
2011-07-31 13:11 1219memmove and memcpy 字符串的拷贝函数mem ... -
Polymorphism & Virtual Function
2011-07-25 21:38 905Polymorphism & Virtual Func ... -
C++ 不要重新定义继承的非虚函数
2011-07-18 14:15 1322不要重新定义继承的非虚函数 如果基类和派生类有相同的非虚函数 ... -
C++ 虚函数表解析
2011-07-14 21:02 1025C++ 虚函数表解析 为什么在C++机制里要有虚函数表?虚函 ... -
C++ 默认构造函数
2011-07-14 11:39 3773C++ 默认构造函数 一直 ... -
尽量使用const
2011-07-12 10:51 1145尽可能的使用const const: ... -
Operator=
2011-07-11 21:54 982Operator= 赋值构造函数 ... -
虚析构函数
2011-07-11 10:43 1216虚析构函数 一 、为何要单独讨论虚析构函数?虚函数在类中到底 ... -
初始化列表和声明顺序之间的关系
2011-07-11 09:18 1483初始化列表和声明的顺序之间的关系 类中数据成员的声明顺序和初 ... -
初始化函数列表和构造函数内赋值之区别
2011-07-10 17:05 4540初始化函数列表和构造 ... -
传值和传引用的区别
2011-07-10 15:30 2411传值和传引用的区别 在C语言中,大都是通过值传递,C++也是 ...
相关推荐
总结来说,这段C++代码演示了如何通过迭代方式反转一个单链表。这种算法的时间复杂度是O(n),其中n是链表的长度,因为它只遍历一次链表。空间复杂度为O(1),因为我们仅使用了常数个额外的指针变量。理解这个过程对于...
以下是一个简单的C++单链表选择排序的实现: ```cpp #include "sort.h" void selectionSort(ListNode*& head) { if (head == nullptr || head->next == nullptr) { return; } ListNode* minNode = head; ...
c++单链表的基本操作
C++单链表的实现,包含Create(),Print(const node *head),Delete(node *head,int num)等简单的函数
C++单链表实现大数加法 大数加法是一种常见的算法问题,特别是在C++中实现大数加法时需要考虑到数字的位数和溢出问题。使用单链表来实现大数加法可以解决这个问题。本文将详细介绍如何使用C++单链表实现大数加法。 ...
在本项目"C++单链表实现的图书管理系统"中,主要涉及了数据结构中的单链表概念以及如何利用C++编程语言设计一个简单的图书管理软件。这个系统通过单链表来存储图书信息,并且实现了文件操作,使得图书数据能够持久化...
// 以下是自己写的基于C++的双向循环链表的创建及其一些操作与实现(于VC下通过),没用模板, // 也没用类,所以比较适合有一点C++语言基础入门者,但可移植不够.有什么bug的话,欢迎指出。 // 或有什么问题也可以联系...
1、单链表基本操作的实现 [问题描述]要在带头结点的单链表h中第i个数据元素之前插入一个数据元素x ,首先需要在单链表中寻找到第i-1个结点并用指针p指示,然后申请一个由指针s 指示的结点空间,并置x为其数据域值,...
单链表的逆序排列,用的是c++语言的,程序正确能够运行,易懂
在这个“C++单链表类模板”中,我们将探讨如何利用C++的类模板来实现一个通用的单链表数据结构,并讨论其核心功能和设计思路。 首先,我们需要定义一个链表节点。节点通常包含两个部分:一个是存储数据的成员变量,...
c++单链表的设计与实现。采用c++类实现单链表,而不是结构体。
根据给定的文件信息,我们可以总结出以下关于C++单链表实现的关键知识点: ### 1. 序列列表(SeqList)类定义 #### 类模板定义 ```cpp template class SeqList { // 类成员声明 }; ``` - `template <class T>`:...
用c++创建单链表、单链表的删除、单链表的插入、求单链表的长度
在本课程设计中,我们关注的是“数据结构 通讯录管理 课程设计C++单链表版”,这是一项以C++编程语言实现的项目,它利用了数据结构中的单链表来有效地管理通讯录信息。单链表是计算机科学中基础且重要的数据结构之一...
总的来说,这个C++单链表模版提供了一套全面的链表操作接口,对于学习数据结构和C++编程的人来说,是一个很好的实践和参考资源。通过使用和改进这个模版,可以深入理解链表数据结构和C++面向对象编程的概念。
C++单链表的创建方法,包括头插法、尾插法
### C++ 单链表实现多项式乘法 #### 实习任务及需求分析 本次实习的任务是使用C++编程语言,通过单链表的数据结构来实现两个多项式的相乘操作。这一过程涉及到对多项式的理解、单链表的运用以及算法的设计与优化。...
本文将详细解析C++中的单链表,并结合提供的“C++单链表小程序”进行讲解,适合大一新生作为学习材料。 单链表是链表的一种类型,每个节点包含两部分:数据域和指针域。数据域存储实际的数据,而指针域存储指向下一...
通过以上步骤,我们就可以实现C++单链表对集合的交、并、差运算,并实现从文件读取和保存结果的功能。这样的实现既锻炼了对链表的理解,也展示了对文件操作的掌握,是数据结构和算法应用的一个好例子。
总的来说,`C++单链表类(实现丰富)`的学习涵盖了链表的基本操作和高级应用,是数据结构和算法学习的重要组成部分。通过深入研究`LLink`类的源代码,你可以更深入地了解链表的工作原理,并提升在实际项目中的应用...