作为一个电子的大二的学长,现在开始认真学数据结构很是愧疚啊!不过要坚持下去,自己老是半途而废,以后一周一篇技术博客。
第一周开局不顺呀编一顺序表老出错,以下是程序:
#include<iostream>
#include<stdlib.h>
using namespace std;
const int DefaultListSize=100;
class Alist
{
int length,maxsize,*p;
public:
void append(int n); //..........添加
void insert(int m,int n); //..........插入
void remove(int n); //...........删除
void output(); //..........输出
Alist()
{
maxsize = DefaultListSize;
length= 0;
p=new int [DefaultListSize];
}
~Alist() {delete[]p;}
};
void Alist::append (int n)
{
*p=n;
p++;
length++;
}
void Alist::insert (int m,int n) //............插入
{
int i;
if(length>=maxsize) cout<<false;
for(i=length-1;i>m-1;i--)
*(p+i+1)=*(p+i);
*(p+m)=n;
length++;
}
void Alist::remove (int n) //.............删除
{
if(n>=length) cout<<false;
int i;
for(i=n-1;i<length;i++)
*(p+n)=*(p+n+1);
length--;
}
void Alist::output () //...........输入
{
int m;
for(m=0;m<length;m++)
cout<<*(p+m)<<" ";
cout<<endl;
}
int main()
{
Alist obj;
int elem;
int i;
for(i=0;i<10;i++)
{
elem=rand()%100;
obj.append (elem);
}
obj.output ();
obj.insert (3,2);
obj.output ();
obj.remove (5);
obj.output ();
return 0;
}
里面好些还是学要改进的,只能放到下周去实现了。
下周把离散前两部分给看了。还看了些整数划归问题丫真坑!!!先把以前的数据结构看一遍再把习题给做了,come on,man.
修改后的代码如下:
#include<iostream>
#include<stdlib.h>
using namespace std;
const int DefaultListSize=100;
class Alist
{
int length,maxsize,*p;
public:
void append(int n); //..........添加
void insert(int m,int n); //..........插入
void remove(int n); //...........删除
void output(); //..........输出
Alist()
{
maxsize = DefaultListSize;
length= 0;
p=new int [DefaultListSize];
}
~Alist() {delete []p;}
};
void Alist::append (int n)
{
p[length]=n;
length++;
}
void Alist::insert (int m,int n) //............插入
{
int i;
if(length>=maxsize) cout<<false;
for(i=length-1;i>m-1;i--)
*(p+i+1)=*(p+i);
*(p+m)=n;
length++;
}
void Alist::remove (int n) //.............删除
{
if(n>=length) cout<<false;
int i;
for(i=n-1;i<length;i++)
*(p+n)=*(p+n+1);
length--;
}
void Alist::output () //...........输入
{
int m;
for(m=0;m<length;m++)
{
cout<<p[m]<<" ";
}
cout<<endl;
}
int main()
{
Alist obj;
int elem;
int i;
for(i=0;i<10;i++)
{
elem=rand()%100;
obj.append (elem);
}
obj.output ();
obj.insert (3,2);
obj.output ();
obj.remove (5);
obj.output ();
return 0;
}