| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- #include <stdio.h>
 
 - #include <stdlib.h>
 
  
- #define MAX 100
 
  
- struct staticLinkList{
 
 -         int data;
 
 -         int cur;
 
 - }SLL[MAX];
 
  
- int init(struct staticLinkList);
 
 - int Malloc_SLL(struct staticLinkList);
 
 - int insert(struct staticLinkList,int n,int m);
 
 - int del(struct staticLinkList,int n);
 
 - int SLL_Free(struct staticLinkList,int k);
 
  
- int main(void){
 
 -         int op,i,j;
 
 -         printf("请选择需要的操作:\n");
 
 -         printf("1 初始化静态链表\n2 插入元素\n 3删除元素\n4 退出\n");
 
 -         scanf("%d,&op");
 
 -         switch(op){
 
 -                 case 1: init(SLL[MAX]);break;
 
 -                 case 2: printf("请输入要插入的位置与数字:");scanf("%d%d",&i,&i);insert(SLL[MAX],i,j);break;
 
 -                 case 3: printf("请输入要删除的元素的位置:");scanf("%d",&i);del(SLL[MAX],i);break;
 
 -                 case 4: exit(1);
 
 -         return 0;
 
 - }
 
  
- int init(struct staticLinkList SLL[]){
 
 -         int i;
 
 -         for(i = 0;i < MAX - 1;i++){
 
 -                 SLL[i].data = 0;
 
 -                 SLL[i].cur = i + 1;
 
 -         }
 
 -         SLL[MAX - 1].cur = 0;
 
 -         return 1;
 
 - }
 
 - int Malloc_SLL(struct staticLinkList SLL[]){
 
 -         int f; // 接收备用链表的起始位置
 
 -         f = SLL[0].cur;
 
 -         if(SLL[0].cur ){
 
 -                 SLL[0].cur = SLL[f].cur;        
 
 -         }
 
 -         return f;
 
 - }
 
 - int insert(struct staticLinkList SLL[],int n,int m){
 
 -         int f = Malloc_SLL(SLL);
 
 -         SLL[f].data = n;
 
 -         int s = MAX - 1,i;
 
 -         for(i = 0;i < m - 1;i++){
 
 -                 s = SLL[s].cur;
 
 -         }
 
 -         SLL[f].cur = SLL[s].cur;
 
 -         SLL[s].cur = f;
 
 -         return 1;
 
 - }
 
 - int del(struct staticLinkList SLL[],int n){
 
 -         int s = MAX - 1,i,k;
 
 -         for(i = 0;i < n - 1;i++){
 
 -                 s = SLL[s].cur;
 
 -         }
 
 -         k = SLL[s].cur;
 
 -         SLL[s].cur = SLL[k].cur;
 
 -         SLL_Free(SLL[MAX],k);
 
 -         return 1;
 
 - }
 
 - int SLL_Free(struct staticLinkList SLL[],int k){
 
 -         SLL[k].cur = SLL[0].cur;
 
 -         SLL[0].cur = k;
 
 -         return 1;
 
 - }
 
  复制代码 
 
这个时源代码是用来操作静态数组的。 
写的不是很规范,请大佬们见谅 
 |   
 
 
 
 |