日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SeqList

發布時間:2025/7/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SeqList 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?


//????工程名: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?"參數非法";
????
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執行有點問題?已解決!
...{
????
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個元素存放在數組下標為j-1處
????data[i-1]=x;????//或????data[j]=x;第i個元素排在下標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;????//下標為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

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

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

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

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

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

?

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。