線性表的順序存儲
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <stdlib.h>
#include <string.h>
#include <iomanip>
#define N 500010
#define INF 10000000
#define LL long long
#define eps 10E-9
#define mem(a) memset(a,0,sizeof(a))
#define w(a) while(a)
#define s(a) scanf("%d",&a)
#define ss(a,b) scanf("%d%d",&a,&b)
#define sss(a,b,c) scanf("%lld%lld%lld",&a,&b,&c)
#define MAXN 9999
#define MAXSIZE 10
#define DLEN 4
#define MAXN 9999
#define MAXSIZE 10
#define DLEN 4
using namespace std;
struct mylist//僅僅一個結構體 和數組幾乎相同。。
{
int data[MAXN];//存數據
int length;//數據個數
} node;
void myinsert(int pos, int cnt)
{
for(int i = node.length ; i>=pos; i--)
{
node.data[i+1] = node.data[i];
}
node.data[pos]=cnt;
node.length++;
cout<<"success!"<<endl;
for(int i=1; i<=node.length; i++)
{
cout<<node.data[i]<<" ";
}
cout<<endl;
}
void mydelete(int pos)
{
for(int i=pos; i<node.length; i++)
{
node.data[i]=node.data[i+1];
}
node.length--;
cout<<"success!"<<endl;
for(int i=1; i<=node.length; i++)
{
cout<<node.data[i]<<" ";
}
cout<<endl;
}
void myquery(int pos)
{
cout<<node.data[pos]<<endl;
}
int main()
{
int num;
printf("input the length of data\n");
cin>>num;
node.length=num;
cout<<"input all the data"<<endl;
for(int i=1; i<=num; i++)
{
cin>>node.data[i];
}
int pos, cnt;
cout<<"input the postion and data of insert"<<endl;
cin>>pos>>cnt;
myinsert(pos, cnt);
cout<<"input the postion of the data you want to dalete"<<endl;
cin>>pos;
mydelete(pos);
cout<<"input the postion of the data you want to query"<<endl;
cin>>pos;
myquery(pos);
return 0;
}
線性表的順序存儲