资源简介
实现链表的创建、插入、删除、清空、查询、反转(循环和递归两种)等
代码片段和文件信息
// ListTest.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
using namespace std;
template
class Nobe {
public:
T data;
Nobe* next;
};
template
class List {
public:
Nobe* head;
~List() { head = NULL; }
List() { /* head = new Nobe;head->next = NULL;*/}
void CreatHaed(T aData);
void CreatFoot(T aData);
void insert(T aData int PData);
void remove(int PData);
void Reverse();
Nobe* reverse(Nobe* head);
void clear();
void output()const;
int ListLen()const { return len; }
Nobe* GetData(int PData);
Nobe* Gethead()const { return head; }
Nobe* find(T aData);
int len = 0;
};
template
void List::CreatHaed(T aData) {
Nobe* newP = new Nobe;
newP->data = aData;
if(head!=NULL){
newP->next = head;
head = newP;
len++;
}
else {
head = newP;
newP->next = NULL;
len++;
}
}
template
void List::CreatFoot(T aData) {
Nobe* newP = new Nobe;
newP->data = aData;
if (head != NULL) {
Nobe* p = head;
while (NULL != p->next) {
p = p->next;
}
p -> next = newP;
newP->next = NULL;
len++;
}
else {
head = newP;
newP->next = NULL;
len++;
}
}
template
void List::insert(T aData int PData) {
Nobe* newP = new Nobe;
if (PData < 0){
cout << “请输入大于0的数“ << endl;
}
else if (PData == 0) {
newP->data = aData;
if(head!=NULL){
newP->next = head;
head = newP;
len++;
}
else {
head = newP;
newP->next = NULL;
len++;
}
}
else if (PData > 0 && PData <= len) {
if (head != NULL) {
newP->data = aData;
Nobe* p = head;
for (int i = 0;i < PData - 1;i++) {
p = p->next;
}
newP->next = p->next;
p->next = newP;
}
}
}
template
Nobe* List::GetData(int PData) {
if(PData>=0&&PData Nobe* p = head;
for (int i = PData;i > 0;i--) {
- 上一篇:视觉识别特定草莓等其他水果
- 下一篇:操作系统课设__多道批处理系统两级调度的模拟_
相关资源
- c++成语接龙代码.rar
- 银行储蓄系统c++
- OpenCV+C++图像处理项目14个
- 山大C++实验
- 四变量遗传算法求最小值程序C++
- 用VS2015+opencv3.4.2+C++编写Yolov3目标检测
- funcode太空战机c++
- ntripclient-c++
- c++ 课程设计报告 可直接交作业版
- C++算法编程视频
- 格雷码等结构光条纹的生成C++
- SLIC算法做superpixel实现C++
- c++程序设计》第二版高等教育出版社
- 光线追踪算法C++实现
- C++课程设计报告-科学计算器加强版
- 拓扑排序C++代码
- zxing库c++)
- 基于C++实现DFT和IDFT——数字信号处理
- c++程序图的遍历深度优先,广度优先
- 时空上下文视觉跟踪STC含有matlab和c
- 华为C++笔试题全部汇总
- 小型公司工资管理系统课程设计报告
- C++实现图书馆管理系统
- C++实现LZW压缩和解压
- Canny边缘检测C++代码
- C++ GUI Qt 4编程 (第二版) [超清版1
- 图像拼接使用VC++实现完成两幅又重叠
- VC++使用SQL查询操作数据库
- c++音频原始数据PCM采样率转换-源码和
- 数据结构 通讯录管理 课程设计C++单链
评论
共有 条评论