静态链表
同时拥有数组和链表的缺点。
容量固定不变。
不能随机存取。
优点:增、删操作不需要大量移动元素。
#include
using namespace std;
#define Maxsize 10
typedef struct {
int data;
int next;
}SLinkList;
bool InitSLinkList(SLinkList s[]) {
s[0].next = NULL;
for (int i = 1; i < Maxsize-1; i++) {
s[i].next = i + 1;
}
s[Maxsize - 1].next = -2;
return true;
}
bool InsertSLinkList(SLinkList *s,int e) {
if (s[1].next == -2) return false;
int p;
p = s[1].next;
s[p].data = e;
s[1].next = s[p].next;
if (s[0].next == NULL)
s[0].next = p;
s[p].next = NULL;
return true;
}
int main() {
SLinkList s[Maxsize];
InitSLinkList(s);
printf("%d\n", s[2].next);
InsertSLinkList(s, 3);
InsertSLinkList(s, 7);
printf("%d %d", s[3].data,s[0].next);
return 0;
}
容量固定不变。
不能随机存取。
优点:增、删操作不需要大量移动元素。
#include
using namespace std;
#define Maxsize 10
typedef struct {
int data;
int next;
}SLinkList;
bool InitSLinkList(SLinkList s[]) {
s[0].next = NULL;
for (int i = 1; i < Maxsize-1; i++) {
s[i].next = i + 1;
}
s[Maxsize - 1].next = -2;
return true;
}
bool InsertSLinkList(SLinkList *s,int e) {
if (s[1].next == -2) return false;
int p;
p = s[1].next;
s[p].data = e;
s[1].next = s[p].next;
if (s[0].next == NULL)
s[0].next = p;
s[p].next = NULL;
return true;
}
int main() {
SLinkList s[Maxsize];
InitSLinkList(s);
printf("%d\n", s[2].next);
InsertSLinkList(s, 3);
InsertSLinkList(s, 7);
printf("%d %d", s[3].data,s[0].next);
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
转发
04-17 21:28
门头沟学院 管理科学与工程类 点赞 评论 收藏
转发