〔C++数据结构〕用一维数组模拟线性表

#include<iostream>

using namespace std;

int data[101],next[101];

/**

创建表格,设置长度为n,输入表内容。

表头部,i=0时不存储数据,方便计算。

*/

void create(int *n){

int i=1;

for(i;i<=*n;i++)

cin>>data[i];

for(i;i<=*n;i++){

if(i!=*n)

next[i]=i+1;

else

next[i]=0;

}

}

/**

获得y元素前一位的位置。

*/

int getPre(int y){

int t=1;

while(next[t]!=0&&data[next[t]]!=y){

t=next[t];

}

if(next[t]==0){

cout<<"don't get the nextdata!"<<endl;

return 0;

}

else

return t;

}

/**

将z插入到pos元素前一位。

*/

void add(int *n,int pos,int z){

(*n)++;

int a=*n;

int t=getPre(pos);

for(a;a>t;a--){

data[a]=data[a-1];

}

data[t]=z;

}

/**

删除元素m。

*/

void del(int *n,int m){

int t=getPre(m);

int b=t+1;

for(b;b<*n;b++)

data[b]=data[b+1];

(*n)--;

}

/**

显示出目前所有元素。

*/

void show(int *n){

cout<<"------------"<<endl;

int c=1;

for(c;c<=*n;c++)

cout<<c<<"  "<<data[c]<<endl;

cout<<"------------"<<endl;

}

int main(){

    return 0;

}


by:有我wa

小学习笔记,有错误希望大佬能指出。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容