日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SeqList

發(fā)布時(shí)間:2025/7/14 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SeqList 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?


//????工程名:SeqList
//????文件名:SeqList.h
//????功能:演示循序表的基本操作
//????依賴文件:SeqList.cpp,main.cpp

#ifndef?SeqList_H
#define?SeqList_H
const?int?MaxSize=100;
template?
<class?T>
class?SeqList
...{
public:
????SeqList()
...{length=0;}
????SeqList(T?a[],
int?n);
????
void?Insert(int?i,T?x);
????T?Delete(
int?i);
????
int?Locate(T?x);
????
void?PrintList();
private:
????T?data[MaxSize];
????
int?length;
}
;
#endif

?


//????工程名:SeqList
//????文件名:SeqList.cpp
//????功能:演示循序表的基本操作
//????依賴文件:SeqList.h,main.cpp

#include?
"SeqList.h"
template?
<class?T>
SeqList
<T>::SeqList(T?a[],int?n)
...{
????
if(n>MaxSize)throw?"參數(shù)非法";
????
for(int?i=0;i<n;i++)
????????data[i]
=a[i];
????length
=n;
}



template
<class?T>
void?SeqList<T>::Insert(int?i,T?x)????//Insert執(zhí)行有點(diǎn)問題?已解決!
...{
????
if(length>=MaxSize)throw?"上溢";
????
if(i<1?||?i>length)?throw?"位置異常";????//原:i>length+1
????for(int?j=length;j>=i;j--)????//原:j>=i
????????data[j]=data[j-1];????//第j個(gè)元素存放在數(shù)組下標(biāo)為j-1處
????data[i-1]=x;????//或????data[j]=x;第i個(gè)元素排在下標(biāo)i-1處
????length++;
}



template
<class?T>
T?SeqList
<T>::Delete(int?i)
...{
????
if(length==0)?throw?"下溢";
????
if(i<1?||?i>length)throw?"位置異常";
????T?x
=data[i-1];
????
for(int?j=i;j<length;j++)
????????data[i
-1]=data[i];
????length
--;
????
return?x;
}


template?
<class?T>
int?SeqList<T>::Locate(T?x)
...{
????
for(int?i=0;i<length;i++)
????????
if(data[i]==x)return?i+1;????//下標(biāo)為i的元素等于x,返回其序號i+1
????????return?0;
}


template?
<class?T>
void?SeqList<T>::PrintList()
...{
????
for(int?i=0;i<length;i++)
????????cout
<<data[i]<<endl;
}

?


//????工程名:main.cpp
//????文件名:SeqList
//????功能:演示循序表的基本操作
//????依賴文件:SeqList.h,SeqList.cpp

//主函數(shù)
#include?<iostream.h>
#include?
"SeqList.cpp"
void?main()
...{
????
int?r[]=...{1,2,3,4,5};
????SeqList
<int>?a(r,5);
????cout
<<"執(zhí)行插入操作前數(shù)據(jù)為:"<<endl;
????a.PrintList();
????
try
????
...{
????????a.Insert(
2,6);????//原:3
????}

????
catch(char?*s)
????
...{
????????cout
<<s<<endl;
????}

????cout
<<"執(zhí)行插入操作后數(shù)據(jù)為:"<<endl;
????a.PrintList();????
//Insert執(zhí)行有點(diǎn)問題?
????cout<<"值為3的元素位置為:"<<endl;
????cout
<<a.Locate(3)<<endl;
????cout
<<"執(zhí)行刪除第一個(gè)元素操作,刪除前數(shù)據(jù)為:"<<endl;
????a.PrintList();
????
try
????
...{
????????a.Delete(
1);
????}

????
catch(char?*s)
????
...{
????????cout
<<s<<endl;
????}

????cout
<<"刪除后數(shù)據(jù)為:"<<endl;
????a.PrintList();
}

?

總結(jié)

以上是生活随笔為你收集整理的SeqList的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。