静态链表
同时拥有数组和链表的缺点。
容量固定不变。
不能随机存取。
优点:增、删操作不需要大量移动元素。

#include<iostream>
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<iostream>
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;
}
全部评论
相关推荐
点赞 评论 收藏
分享
10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活 点赞 评论 收藏
分享


查看5道真题和解析