顺序表的实现
来源:互联网 发布:郭沁夺冠知乎 编辑:程序博客网 时间:2024/05/29 07:59
//
// main.cpp
// 链表
//
// Created by ZhangYang on 13-7-9.
// Copyright (c) 2013年 ZhangYang. All rights reserved.
//
#include <iostream>
using namespace std;
template<class T>
class LinkList
{
T * l;
int size;
public:
LinkList(T * a,int sz):l(a),size(sz){cout<<"链表已被创建!!" ;}
LinkList():size(0){cout<<"链表已被创建!!";}
~LinkList(){cout<<"链表已被删除!!"<<endl;}
bool IsEmpty()
{
if(size==0)
return true;
else
return false;
}
T GetNode(int i)
{
T * x=l;
int j=0;
while(j<i)
{
x=x+1;
j++;
}
return *x;
}
int Length()
{
T * x=l;
int i=0;
while(x!=NULL)
i++;
return i;
}
int LocateNode(T x)
{
int i=0;
T * x1=l;
while(*x1!=x)
{
i++;
}
return i;
}
void Insert(int i,T & x)
{
T * y;
int j=0;
while(j!=i)
y++;
T * y1;
y1=y+1;
y++;
y=&x;
y++;
y=y1;
}
void Delete(int i)
{
int j=0;
T * x=l;
while(j!=i)
x++;
T * y=x+1;
x=x+2;
delete y;
}
void show()
{
T * y=l;
int i=0;
while(i<size)
{
cout<<*y<<" ";
y++;
i++;
}
}
};
int main(int argc, const char * argv[])
{
// insert code here...
int a[10]={1,2,3,4,5,6,7,8,9,10};
LinkList<int> str(a,10);
str.show();
cout<<"此链表为空是"<<str.IsEmpty()<<"(0表示假,1表示真)";
cout<<"此链表的长度为:"<<str.Length()<<endl;
int x=str.GetNode(3);
cout<<"x为此链表的第"<<str.LocateNode(x)<<"个元素。"<<endl;
str.show();
str.Insert(3,x);
str.show();
str.Delete(3);
str.show();
return 0;
}
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 顺序表的实现
- 存储过程
- xml的 一些简单操作
- Free Web Application Firewall
- python浮点数list排序
- mysql C API的使用
- 顺序表的实现
- error LNK2005: _exit already defined in LIBCD.lib
- JDBC调用存储过程
- 描述一下android的系统架构
- 用timestamp找回數據
- LINUX的awk和sed的常用用法
- loadView、viewDidLoad、viewWillAppear、viewDidAppear等详解
- 如何成为一个优秀的程序员(宋劲杉)
- C# 3.0特性-- 对象初始化器