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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

顺序表的所有基本操作

發(fā)布時間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 顺序表的所有基本操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

####順序表的所有基本操作

#include<iostream> using namespace std ; #define MaxSize 25typedef int DataType;class SeqList //類 {DataType list[MaxSize] ; //int型數(shù)組 int length ; //數(shù)組長度 public : SeqList() { length = 0 ; } //返回順序表長度的gouzao函數(shù) void SLCreat(int n ) ; //在順序表L中第i個位置插入元素x void SLDelete(int i) ; //在第i個位置刪除元素 void SLInsert(int i,DataType x);DataType SLSum() ; //求和void SLPrint() ; //打印 int SLIsEmpty() ; //判斷是否為空集 DataType SLGet (int i) ; } ;//創(chuàng)建順序表void SeqList::SLCreat(int n )//遍歷 一個一個往里塞 {DataType x ;cout << "請輸入數(shù)據(jù)元素值:" ;for ( int i = 0 ; i < n ; i++ ){cin >> x ;list[i] = x ;length++ ;} } //i位置插入數(shù)據(jù)元素x void SeqList::SLInsert(int i,DataType x) {int k ; if ( length >= MaxSize ) cout << "表已滿,無法插入" << endl ;else if ( i < 0 || i > length )cout << "參數(shù)i不合理!" << endl ;else{//從表末尾的數(shù),遍歷到第i個數(shù),依次向后挪一位;到第i個數(shù)時 i插入 for (k = length ; k > i ; k--) //<= 下面 i=i-1 去掉 {list[k] = list[k-1] ;}list[i] = list[i-1] ;list[i] = x ;length++ ; } } //刪除第i個位置的數(shù)據(jù)元素void SeqList::SLDelete(int i) //void在最前面 {int k ; if ( !SLIsEmpty() )cout << "表已空,無法刪除!" << endl ;else if ( i < 0 || i > length ) cout << "參數(shù)i不合理!" << endl ;else{//用第i+1個數(shù),代替第i個數(shù) 依次向前挪一位 for ( k = i-1 ; k < length ; k++){list[k] = list[k+1] ; }length-- ;} } int SeqList::SLIsEmpty() {if(length<=0)return 1 ;else return 0 ; } void SeqList::SLPrint() {if ( !SLIsEmpty() ){cout << "空表!" << endl ; }else for ( int i = 0 ; i < length ; i++ ){cout << list[i] << ' ' ;}cout << endl ; } DataType SeqList::SLSum() {int m = 0 ; for ( int i = 0 ; i < length ; i++ ){m += list[i] ;}return m ;} //獲取第 i 個位置的元素的數(shù)值 DataType SeqList::SLGet (int i) //直接獲取 { if (i<0||i>length) { cout<<"參數(shù) i 不合理!"<<endl; return 0; } else return list[i-1]; } int main() { SeqList mylist; int i,n,flag=1,select; DataType x; cout<<" 1.建立順序表\n"; cout<<" 2.求第 i 個位置上的數(shù)值\n"; cout<<" 3.在第 i 個位置前上插入數(shù)值元素 x\n"; cout<<" 4.刪除第 i 個位置上的數(shù)值\n"; cout<<" 5.該順序表上各元素之和\n"; cout<<" 6.輸出顯示\n"; cout<<" 7.退出\n"; cout<<"特別說明:第一次請選擇 1,以后就不要選擇 1 了!"<<endl; while(flag) { cout<<"請選擇: "; cin>>select; switch(select) { case 1: cout<<"請輸入順序表長度:"; cin>>n; mylist.SLCreat(n); cout<<"順序表為: "; mylist.SLPrint(); break; case 2: cout<<"請輸入位置 i: "; cin>>i; cout<<"第"<<i<<"個位置上的數(shù)值為: "<<mylist.SLGet (i)<<endl; break; case 3: cout<<"請輸入要插入元素的位置 i 和數(shù)值 x: "; cin>>i>>x; mylist.SLInsert (i,x); mylist.SLPrint (); break; case 4: cout<<"請輸入要刪除的數(shù)值的位置: "; cin>>i; mylist.SLDelete (i); cout<<"刪除后的順序表為: "; mylist.SLPrint (); break; case 5: cout<<"求和的值:"<<mylist.SLSum()<<endl; break; case 6: cout<<"順序表為: "; mylist.SLPrint (); break; case 7: flag=0; break; } } return 0; }

總結(jié)

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

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