代码改变世界

数据结构之删除线性表中的元素

2011-08-31 14:41  javaspring  阅读(543)  评论(0编辑  收藏  举报

                  严蔚敏版教材,算法2.4,代码实现

#include <iostream>
using namespace std;
typedef int element;
#define maxsize 100
typedef struct
{
  element aa[maxsize];
  int last;
}sqlist;
int main()
{
  int len,pos;
  sqlist *la;
  int *p,*q;
  la=(sqlist *)malloc(sizeof(sqlist));
  cout<<"输入线性表的长度"<<endl;
  cin>>len;
  la->last=len-1;
  cout<<"输入元素"<<endl;
  for(int i=0;i<len;++i)
	  cin>>la->aa[i];
  cout<<"输入要删除的位置"<<endl;
  cin>>pos;
  q=&(la->aa[pos-1]);
 // cout<<*q<<endl;
  //p=&(la->aa[la->last]);
  //cout<<*p<<endl;
  for(p=q;p<&(la->aa[la->last]);p++)
	  *p=*(p+1);
  la->last--;
  for(int i=0;i<=la->last;++i)
	  cout<<la->aa[i]<<" ";
  cout<<endl;
  return 0;
}