不含头结点的单链表
2012-05-16 10:06:52 来源:WEB开发网核心提示:这个是类的测试#include <iostream>#include <iomanip>#include "SinglyLinkedList.h"using namespace std;void print(int i_Array[],int count);
这个是类的测试
#include <iostream>
#include <iomanip>
#include "SinglyLinkedList.h"
using namespace std;
void print(int i_Array[],int count); //声明输出随机数的函数
int chackArray(int i_Value,int i_Array[],int count); //声明检查产生的随机数是否存在函数
void getArray(int i_Array[],int count); //获得随机数数组函数
int main()
{
const int count = 10; //定义要输出的随机数的个数
int i_Array[count] = {0}; //初始化输出随机数的数组
getArray(i_Array,count); //获得随机数数组
print(i_Array,count); //输出生成的随机数
cout<<endl;
SinglyLinkedList<int> num(i_Array,count);//定义一个链表
SinglyLinkedList<int> arry;
num.outPut(); //输出链表
if(num.isEmpty())
cout<<endl<<"num_本链表为空"<<endl;
else cout<<endl<<"num_本链表不为空"<<endl;
if(arry.isEmpty())
cout<<"arry链表为空"<<endl<<endl;
else cout<<"arry链表不为空"<<endl<<endl;
cout<<num.length()<<endl<<endl;
cout<<arry.length()<<endl<<endl;
cout<<num.getNode(2)->data<<endl;
cout<<num.get(1)<<endl;
if(num.set( 8 ,123))
{
cout<<endl<<"数据修改成功!"<<endl;
num.outPut();
}
num.insert(1,100);
num.outPut();
if(num.remove(9))
{
cout<<"数字删除成功"<<endl;
}
num.outPut();
SinglyLinkedList<int> Number(i_Array,count);
num.outPut();
system("pause"); //暂停定屏
return 0;
}
//定义输出数组的函数
void print(int i_Array[],int count)
{
for(int i = 0; i < count;i++)
{
cout<<setw(5)<<i_Array[i];
if(i%10 == 9)
cout<<endl;
}
return;
}
//定义获得数组的函数,其中Number为数组中的第几个数字
void getArray(int i_Array[],int count)
{
int Number = 0;
for(int i =0;;i++)
{
int i_Value = rand()%100; //获得一随机数
if(chackArray(i_Value,i_Array,Number)) //检查是否在数组里存在,如果不存在则执行下面的过程否则跳过下面的过程
{
i_Array[Number] = i_Value; //将获得的数字赋给数组中的第Number个数字
Number++;
if(Number == count ) //如果获的数字个数达到要求,则返回,反之集训
return;
}
}
return;
}
//定义检查重合的函数,其中i_Value为要检查的数,i_Array[]为检查的数组范围,count为数组中的数的个数,如果被检查数不存在则返回1,否则返回0
int chackArray(int i_Value,int i_Array[],int count)
{
int result = 1;
for(int i = 0; i<count;i++)
{
if(i_Value == i_Array[i])
return 0;
}
return 1;
}
更多精彩
赞助商链接
