3.15(自调整表)

数组实现

<span style="font-size:14px;">#include <iostream>
#include <stdlib.h>
#define MAX 5
int k=0,t=0;
using namespace std;
typedef struct node
{
    int* base;
    int lengh;
    int size;
}qnode,*pnode;
void init(pnode list)
{
    list->base=(int*)malloc(MAX*sizeof(int));
    list->size=MAX;
    list->lengh=0;
}
void puts(pnode list,int e)
{
    int i;
    if(k==0)
    {
        list->base[1]=e;
    }
    else if(k==1)
    {
        for(i=t;i>=1;i--)//把所有数字往后移动一个位置
        {
            list->base[i+1]=list->base[i];
        }
        list->base[1]=e;
    }
    k=1;//判断是否是第一次进入
    t++;//记录进入了几个数据
}
void traverse(pnode list)
{
    int i;
    for(i=1;i<=t;i++)
    {
        cout<<list->base[i];
    }
}
int main()
{
    qnode list;
    init(&list);
    puts(&list,1);
    puts(&list,2);
    puts(&list,3);
    traverse(&list);
    return 0;
}
</span>

链表实现

#include <iostream>
#include <stdlib.h>
#define MAX 5
int t=0;
using namespace std;
typedef struct node
{
    int num;
    struct node* pnext;
}qnode,*pnode;
pnode init()
{
    pnode head;
    head=(pnode)malloc(sizeof(qnode));
    head->pnext=NULL;
    return head;
}
void puts(pnode head,int e)
{
    pnode q,p,temp;
    q=head;
    if(t==0)
    {
        p=(pnode)malloc(sizeof(qnode));
        p->num=e;
        q->pnext=p;
        p->pnext=NULL;
    }
    else if(t==1)
    {
        p=(pnode)malloc(sizeof(qnode));
        p->num=e;
        temp=q->pnext;
        p->pnext=temp;
        q->pnext=p;
    }
    t=1;
}
void traverse(pnode head)
{
    pnode q=head->pnext;
    while(q!=NULL)
    {
        cout<<q->num;
        q=q->pnext;
    }
}
int main()
{
    pnode head;
    head=init();
    puts(head,1);
    puts(head,2);
    puts(head,3);
    traverse(head);
    return 0;
}



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/superna666/article/details/52368605
想对作者说点什么? 我来说一句

自动调速程序(PID算法)

2014年03月01日 948B 下载

poi3.15版本jar包

2017年09月08日 28.52MB 下载

poi-3.15 jar包

2016年10月19日 12.86MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭