| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 863 人关注过本帖
标题:我建立了一个链表 有一个按freq 排序的函数和一个LocateNode函数(查找到e, ...
只看楼主 加入收藏
winnie96
Rank: 2
等 级:论坛游民
帖 子:51
专家分:86
注 册:2015-12-14
结帖率:53.85%
收藏
已结贴  问题点数:10 回复次数:0 
我建立了一个链表 有一个按freq 排序的函数和一个LocateNode函数(查找到e,freq加1再按freq排序)

我的问题是:运行时在LocateNode函数里不能正确调用freqsort,在 main函数里却可以调用freqsort
typedef int ElemType;

typedef struct DLListnode
{
    ElemType date;
    int freq;
    struct DLListnode *next;
    struct DLListnode *prior;
}DLinkList;
void freqsort(DLinkList *&L){
    DLinkList *p,*q,*pre;
    p=L->next->next;
    L->next->next=NULL;
    while(p!=NULL)
    {
        pre=L;
        q=p->next;
        while(pre->next!=NULL&&pre->next->freq>p->freq) pre=pre->next;
        p->next=pre->next;
        pre->next=p;
        p=q;
    }   
}
int LocateNode(DLinkList *&L,ElemType e)
{
    DLinkList *p=L->next;
    int i=1;
    while(p!=NULL&&p->date!=e){
        p=p->next;
        i++;
    }
    if(p==NULL)return 0;
    else {
        p->freq++;
        return i;
    }
//    freqsort(L);在这里调用 freqsort(L)不能排序
}
2016-10-19 21:09
快速回复:我建立了一个链表 有一个按freq 排序的函数和一个LocateNode函数(查找 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025116 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved