码迷,mamicode.com
首页 > 其他好文 > 详细

习题3.15 自调整表Find例程

时间:2015-07-12 12:33:57      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
#include<stdio.h>
#include<stdlib.h>

typedef int * List;
/* 自调整表的Find数组实现 */
int
Find(List L,int MaxSize,int X)
{
    int where = 0;
    for( i = 1; i < MaxSize; i++ )
    {
        if( L[i] == X )
        {
            where = i;
            break;
        }
    }
    if(where){
        for( i = where; i > 1; i-- )
        {
            L[i] = L[i-1];
        }
        L[1] = X;
    }
    else
        return 0;
}
/* 自调整表的链表实现 */
struct Node;
typedef struct Node * List;
struct Node{
    int data;
    struct Node *Next;
};

int
Find(int X,List L)
{
    struct Node * p;
    p = L->Next;
    while(p != NULL && p->data != X )
        p = p->Next;
    if( p != NULL )
    {
        int t;
        t = L->Next->data;
        L->Next->data = X;
        p->data = t;
    }
    else
        return 0;
}
View Code

 标答第二个例程是把那个结点给删除,然后从新接在头结点后

习题3.15 自调整表Find例程

标签:

原文地址:http://www.cnblogs.com/gabygoole/p/4640675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!