C++實(shí)現(xiàn)順序表的常用操作(插入刪出查找輸出)
實(shí)現(xiàn)順序表的插入,刪除,查找,輸出操作在C語言中經(jīng)常用到。下面小編給大家整理實(shí)現(xiàn)代碼,一起看下吧
代碼如下所示:
#include<iostream>
using namespace std;
#define MAXSIZE 15
typedef int DataType;
typedef struct
{
DataType data[MAXSIZE]; //通常用一位數(shù)組來描述順序表的數(shù)據(jù)存儲(chǔ)
int SeqLength; /*線性表長度*/
} SeqList;
SeqList *Init_SeqList(); //初始化順序表
void Define_SeqList(SeqList *L,int n); //填充順序表的內(nèi)容
void Display_SeqList(SeqList *L); //提取順序表中的元素
int Insert_SeqList(SeqList *L,int i,DataType x); //添加元素到指定位置(從開始)
int Delete_SeqList(SeqList *L,int i); //刪除指定位置的元素(從開始)
【Sequence.cpp】
#include "Sequence.h"
#include<iostream>
using namespace std;
SeqList *Init_SeqList()//順序表的初始化算法,將順序表清空
{
SeqList *L;
L=new SeqList;
L->SeqLength=0; /*長度置為-1*/
return L;
}
void Define_SeqList(SeqList *L,int n)//順序表的定義算法
{
cout<<"請(qǐng)依次輸入順序表中要儲(chǔ)存的元素:"<<endl;
for(int i=0;i<n;i++)
{
cin>>L->data[i]; //輸入數(shù)組元素
L->SeqLength++;
}
}
void Display_SeqList(SeqList *L)//順序表的輸出算法
{
cout<<"順序表中儲(chǔ)存的元素為"<<endl;
int i;
for(i=0;i<=L->SeqLength-1;i++)
{
cout<<L->data[i]<<" ";
}
cout<<endl;
}
int Insert_SeqList(SeqList *L,int i,DataType x) //順序表的插入算法
{
cout<<"把元素"<<x<<"插入到位置"<<i<<"上"<<endl;
int j;
if(L->SeqLength==MAXSIZE-1) //數(shù)組長度等于設(shè)定值-1,則表滿
{
cout<<"表滿"<<endl;
return -1;
}
if(i<1||i>L->SeqLength+1) //插入位置在第一個(gè)之前,或者插入到大于當(dāng)前數(shù)組的長度+1
{
cout<<"位置錯(cuò)"<<endl;
return 0;
}
for(j=L->SeqLength-1;j>=i;j--) //i之后全部后移
{
L->data[j+1]=L->data[j];
}
L->data[i]=x; //將元素填充到空白位置
L->SeqLength++;
cout<<"插入成功"<<endl;
Display_SeqList(L);
return 1;
}
int Delete_SeqList(SeqList *L,int i)//順序表的刪除算法
{
cout<<"將位置為"<<i<<"的元素刪除"<<endl;
int j;
if(i<1||i>L->SeqLength)
{
cout<<"不存在第"<<i<<"個(gè)元素"<<endl;
return 0;
}
for(j=i;j<=L->SeqLength-1;j++)
{
L->data[j]=L->data[j+1]; //i索引之后全部前移
}
L->SeqLength--;
cout<<"刪除成功"<<endl;
Display_SeqList(L);
return 1;
}
【Test_Sequence.cpp】
#include "Sequence.h"
#include<iostream>
using namespace std;
int main()
{
SeqList *L;//順序表的定義
L=Init_SeqList();//順序表的初始化
Define_SeqList(L,6);//定義順序表
Display_SeqList(L);//順序表的輸出
Insert_SeqList(L,4,3);//順序表的插入
Insert_SeqList(L,6,21);
Insert_SeqList(L,2,15);
Delete_SeqList(L,5);//順序表的刪除
Delete_SeqList(L,3);
Delete_SeqList(L,12);
return 0;
}
效果如下:

以上所述是小編給大家介紹的C++實(shí)現(xiàn)順序表的常用操作(插入刪出查找輸出),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
關(guān)于C語言中弱符號(hào)與弱引用的實(shí)際應(yīng)用問題
在編碼過程中,我們經(jīng)常遇到符號(hào)重定義的錯(cuò)誤問題,本文通過實(shí)例代碼展示給大家介紹了C語言弱符號(hào)與弱引用的實(shí)際應(yīng)用問題,一起看看吧2021-09-09
C++多態(tài)虛析構(gòu)和純虛析構(gòu)的實(shí)現(xiàn)
本文主要介紹了C++多態(tài)虛析構(gòu)和純虛析構(gòu)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09
C語言數(shù)據(jù)結(jié)構(gòu)與算法之隊(duì)列的實(shí)現(xiàn)詳解
隊(duì)列只允許在一端進(jìn)行插入數(shù)據(jù)操作,在另一端進(jìn)行刪除數(shù)據(jù)操作的特殊線性表,隊(duì)列具有先進(jìn)先出FIFO(First In First Out)的原則。本文將通過實(shí)例詳細(xì)說說隊(duì)列的實(shí)現(xiàn),需要的可以學(xué)習(xí)一下2022-10-10
使用C語言訪問51單片機(jī)中存儲(chǔ)器的核心代碼
這篇文章主要介紹了使用C語言訪問51單片機(jī)中存儲(chǔ)器的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
C++實(shí)現(xiàn)LeetCode(647.回文子字符串)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(647.回文子字符串),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
epoll多路復(fù)用的一個(gè)實(shí)例程序(C實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了epoll多路復(fù)用的一個(gè)實(shí)例程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

