#include
#define MaxSize 10
typedef struct{
int *data;
int length;
}SqList;
void InitList(SqList &L)
{
L.length = 0;
}
bool ListDelete(SqList &L,int i,int &e) //i为位序; e为用来存放被删除的元素
{
if(i<1 || i>L.length)
return false;
e = L.data[i-1];
for(int j =i;j<=L.length;j++)
{
L.data[j-1] = L.data[j];
}
L.length--;
return true;
}
int main()
{
SqList L;
InitList(L);
L.data[0] = 1;
L.data[1] = 2;
L.data[2] = 3;
L.data[3] = 4;
L.length = 4;
int del ; // 用变量e,把删除值带回来
bool ret = ListDelete(L,2,del);
if(ret)
{
printf("%d\n",del);
}
else
{
printf("位序i不合法,删除失败\n");
}
return 0;
}
data只是一个指针,没有分配空间啊
void InitList(SqList &L)
{
L.data = (int *)malloc(sizeof(int)*MaxSize);
L.length = 0;
}
命名空间的使用有三种方式:
加命名空间名称及作用域限定符
使用using将命名空间中成员引入
使用using namespace
//1.使用命名空间名称及作用域限定符
int main()
{
printf("%d\n", N::a);
return 0;
}
//2.使用using将命名空间中成员引入
using N::b;
int main()
{
printf("%d\n", N::a);
printf("%d\n", b);
return 0;
}
//3.使用using namespace
using namespce N;
int main()
{
printf("%d\n", N::a);
printf("%d\n", b);
Add(10, 20);
return 0;
}
在C++中我们开头总是写using namespace std; 很多人压根不知道这句话的意思,这里的std就是命名空间,当然这句话的意思就是使用标准命名空间