栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

王道书P41 T24(单链表实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

王道书P41 T24(单链表实现)



#include 
#include 

typedef struct LNode{
    int data;
    struct LNode* next;
}LNode,*LinkList;

void DeleteReAbs(LinkList &L,int n){
    //创建n + 1 大小的数组
    //这个数组下标可以保存 0 到 n 大小的数,和题目中说的data的绝对值小于 n 正好对应
    int *flag = (int*)malloc(sizeof(int) * (n + 1));
    //初始化数组
    for(int i = 0; i < n + 1; i++){
        flag[i] = 0;
    }
    //断链,如果符合条件再重新插入L
    LinkList p = L -> next,q,r = L;
    L -> next = NULL;
    while(p){
        q = p -> next;
        if(flag[abs(p -> data)] == 0){//abs是取绝对值
            r -> next = p;
            r = p;
            p = q;
            flag[abs(p -> data)] = 1;
        }else{
            free(p);
            p = q;
        }
    }
    free(flag);
    r -> next = NULL;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号