3.15(自调整表)

原创 2016年08月30日 14:03:36

数组实现

<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;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《数据结构与算法——C语言描述》答案 3.15 自调整表的实现(链表法)

转载请注明出处:http://blog.csdn.net/xdz78 #include #include //3.15 //定义一个结构体 typedef struct student ...
  • xdz78
  • xdz78
  • 2015年05月26日 02:46
  • 846

jQuery可调整表和列宽插件

  • 2017年07月11日 10:50
  • 6KB
  • 下载

利用dbLink技术 可以进行数据库复制(及如何调整表顺序)

导入的命令是:imp 用户名/密码@网络服务名 file=xxx.dmp full=y; 例子:开始->运行->输入cmd->imp PECARD_HN/PECARD_HN@127.0.0.1:15...

swift 自动调整表视图

在iOS 7开发人员引入动态类型的概念——允许用户通过设置面板在程序中修改字体大小。这真是强大,可以大大改善用户体验为用户提供不同品质的视线。 然而,有一个很大的问题与此相关,在表视图的形式。虽然类型...

每日一题15:双端队列与自调整表

双端队列是一种插入和删除可以既可以在表头也可以表尾进行的一种数据结构,四种基本操作分别为: push:在表头插入 pop:在表头删除 insert:在表尾插入 eject:在表尾删除 每一种...

oracle sql优化案例2(RBO下调整表连接的顺序)

发现问题: 通过statspack(statspack的bug导致buffer gets为负值,部分top sql无法正确列出),经观察,由于两个数据库同在一台主机,c数据库也消耗了主机1/4的CP...
  • hijk139
  • hijk139
  • 2012年02月28日 11:13
  • 1440

jQuery调整表列宽度

  • 2013年12月08日 22:39
  • 48KB
  • 下载

Oracle检查&调整表空间

最近调接口的时候接口访问历史表报错: 检查之后发现表空间满了,随后把相应表空间进行了扩展,顺带总结了Oracle检查&调整表空间的sql语句如下: ##--查看某张表的表空间 sel...
  • lmb55
  • lmb55
  • 2016年12月24日 15:42
  • 443

Oracle 11g笔记——调整表空间和数据文件的大小、移动数据文件、联机重做日志文件、控制文件

一、调整表空间和数据文件的大小    1、调整表空间大小    alter database datafile '/u01/app/oracle/oradata/rmanrep/users01.d...
  • lJean
  • lJean
  • 2016年04月25日 17:15
  • 1805

jQuery插件来调整表列的大小colResizable.js 拖动改变单元格宽度

jQuery插件来调整表列的大小官网地址:http://www.bacubacu.com/colresizable/github项目地址:https://github.com/ybx13579/res...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:3.15(自调整表)
举报原因:
原因补充:

(最多只允许输入30个字)