数据结构学习中测试代码
线性表
顺序表的一些基本性质
//#define print(x) std::cout <<x << std::endl
//#define get(x) std::cin>>x
#include <iostream>
#include <fstream>
using namespace std;
#define Initsize 100
#
typedef struct
{
int* data;
int Maxsize, length;
}SeqList;
int main()
{
SeqList l;
l.data = (int*)malloc(sizeof(int) * Initsize);
l.length = 0;
l.Maxsize = 100;
for (int i = 0; i <=30; i++)
{
l.data[i] = i;
l.length++;
}
for (int i = 0; i < l.length; i++)
{
std::cout << l.data[i]<<std::endl;
std::cout << &(l.data[i]) << std::endl;
std::cout << l.length << std::endl;
std::cout << "------" << std::endl;
}
}
顺序表插入
int ListInsert(SeqList &l, int num,int loc)
{
if (loc<0 || loc>l.length + 1) return false;
for (int i = l.length; i > loc; i--)
{
l.data[i + 1] = l.data[i];
}
l.data[loc] = num;
l.length++;
}
指针方式
int ListInsert1(SeqList& l, int num, int loc)
{
if (loc<0 || loc>l.length + 1) return false;
int *q = &l.data[loc];
for (int *i = &l.data[l.length-1]; i >q; i--)
{
*(i + 1) = *i;
}
*q = num;
l.length++;
}