• 链表的游标实现


    //对于不支持指针的语言,链表可以用游标来表示
    //
    链表的游标实现 //array数组分两部分,一部分为链表部分,有一个独立头节点,下标为1 //另一部分为freelist部分,也有独立的一个节点,下标为0,对于此部分,相当于一个栈 //进行malloc操作时,从开头(下标0后)取空间 //进行free操作时,被free的数放到开头(下标0后) #define MAXN 10 struct node { int element; int next; }; void free(struct node array[],int position) { array[position].next=array[0].next; array[0].next=position; } int malloc(struct node array[]) { int position; position=array[0].next; array[0].next=array[position].next; return position; } int FindpreviousofDelete(struct node array[],int head,int number) { int position; position=head; while(array[array[position].next].element!=number&&array[position].next!=0) position=array[position].next; return position; } int FindpreviousofInsert(struct node array[],int head,int number) { int position=head; while(array[position].next<=number&&array[position].next!=0) position=array[position].next; return position; } void Insert(struct node array[],int head,int number) { int position=malloc(array); if(position==0){ printf("Out of space! "); return; } int former=FindpreviousofInsert(array,head,number); array[position].element=number; array[position].next=array[former].next; array[former].next=position; } void Delete(struct node array[],int head,int number) { int position; position=FindpreviousofDelete(array,head,number); if(array[position].next==0){ printf("Not exist! "); return; } array[position].next=array[array[position].next].next; free(array,array[position].next); } int main() { //新建 struct node array[MAXN]; int head=1; array[head].next=0; array[0].next=2; for(int i=2;i<MAXN-1;i++) array[i].next=i+1; array[MAXN-1].next=0; //插入 Insert(array,head,10); //删除 Delete(array,head,10); //查找 //Find(array,head,2); //遍历 //Print(array,head); return 0; }
  • 相关阅读:
    php ajax分页的例子,在使用中
    PHP远程文件管理,可以给表格排序,遍历目录,时间排序
    背景变暗的div可拖动提示窗口,兼容IE、Firefox、Opera
    CSS简洁的左侧菜单(侧拉菜单,向右显示)
    无间断循环滚动(兼容IE、FF)
    poj 1007 求逆序数
    poj 1775 简单搜索
    面向对象之继承和组合浅谈
    在flex中导入fl包
    C99中包括的特性
  • 原文地址:https://www.cnblogs.com/xiong63/p/7243769.html
Copyright © 2020-2023  润新知