⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ranklist.h

📁 网页抓取程序
💻 H
字号:

/* lista di tutti i documenti indicizzati e relativo valore di rank */

RANKS* InitRankList(int elements)
{
RANKS* rankList = malloc( sizeof(RANKS) * elements+1 );

    memset(rankList, 0, sizeof(RANKS) * elements+1);

    return rankList;
}

/* algoritmo di ordinamento (molto efficente) */
/* ordinamento della lista rank */
/* sort = 0 -> ordina per page 
   sort = 1 -> ordina per rank
   order = 0 -> ordinamento crescente 1,2,3 
   order = 1 -> ordinamento decrescente 3,2,1
 */
void insertion_sortRanks(RANKS* rankList, int n, int sort, int order) 
{
    int i, j;
	unsigned int app;
	
    for (i=1; i<n; i++)
    {
        app = ((sort==0) ? rankList[i].page: rankList[i].rank) ;
		
        j = i-1;
        if(order==0)
        {
            while ((j>=0) && ( ((sort==0) ? rankList[j].page : rankList[j].rank) > app) ) 
		    {
			    swapRankList(rankList[j+1],rankList[j]);
                j--;
            }
        }
        else
        {
            while ((j>=0) && ( ((sort==0) ? rankList[j].page : rankList[j].rank) < app) ) 
		    {
			    swapRankList(rankList[j+1],rankList[j]);
                j--;
            }
        }

        if(sort==0)
            rankList[j+1].page = app;
        else
            rankList[j+1].rank = app;
    }
	
}

int InsertDocRank(RANKS* rankList, unsigned int doc, unsigned int rank,int elements)
{
int i;

    for(i=0;i<elements; i++)
        if(rankList[i].page == 0)
        {
            rankList[i].page = doc;
            rankList[i].rank = rank;
            return 1;
        }
return 0;
}


/* binary search */
int ranksLookForPage(RANKS* rankList, unsigned int page, int elements)
{
	unsigned int m;
	int p, u;
	p = 0;
	u = elements-1;
	while(p<u)
	{
		m = (p+u)/2;
        if(rankList[m].page<page)
			p = m+1;
		else
			u = m;
	}
	
	if(u>=0 && rankList[u].page == page)
		return u;
	else
		return -1;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -