代码中按值删除有问题,感觉是参数传递的错,有大佬知道的修正一下咯,谢谢
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int Type;
typedef struct
{
int *buff;
int len;
int maxsize;
}node;
node n;//n.buff来访问
//初始化顺序表
void init()
{
n.len = 0;
n.maxsize = 10;//10这里可以用宏定义替换
n.buff = (Type*)malloc((sizeof(Type)*n.maxsize));
memset(n.buff, 0, sizeof(Type)*(n.maxsize));
}
//输出顺序表
void print()
{
for (int j = 0;j < n.len; j++)
{
printf("%d\t", (n.buff)[j]);
}
printf("\n");
}
//增加,data是想增加的数据
void insert(Type data)
{
//如果容器满了
if (n.len >= n.maxsize)
{
n.maxsize = n.maxsize / 2 + n.maxsize;
Type*temp = (Type*)malloc(sizeof(Type)*(n.maxsize));
for (int j = 0; j < n.len; j++)//旧的顺序表放进新的
{
temp[j] = (n.buff)[j];
}
free(n.buff);
n.buff = temp;//让buff指向新的顺序表
printf("最大内存:%d\n", n.maxsize);
}
if (n.buff == NULL)
{