文档章节

c++实现数组压缩存储,初学者

cyleft
 cyleft
发布于 2017/05/16 11:56
字数 242
阅读 9
收藏 0
#include <iostream>
#include <stdio.h>

using namespace std;

static int length = 0;

typedef char ElemType;

typedef struct Compress{
    ElemType *data;
}*com,arr;

void init_matrix(com &com){
    com = new arr[length];
    for(int i=0;i<length;i++){
        com[i].data = new ElemType[10];
    }
}

void init_matrix(arr &arr,int num){
    arr.data = new ElemType[num];
}

void compass(com& cha,arr& yasuo,int num){
    length = num;
    int k=0;
    int compass_length = (1+length)*length/2;
    init_matrix(cha);
    init_matrix(yasuo,compass_length);
    for(int i=0;i<length;i++){
        for(int j=0;j<i+1;j++){
            //cin>>cha[i][j];
            cha[i].data[j] = i*j+'0';
            cha[j].data[i] = cha[i].data[j];
            yasuo.data[k] = cha[i].data[j];
            k++;
        }
    }
    for(int i=0;i<10;i++){
        for(int j=0;j<10;j++){
            cout<<cha[i].data[j]<<" ";
        }
        printf("\n");
    }
    printf("\n");
    int a=0;
    int sum;

}

void display_all(arr yasuo){

    for(int k=0;k<55;k++){
        //cout<<yasuo.data[k]<<" ";
        cout<<"a["<<k<<"] = "<<yasuo.data[k]<<endl;
    }
   //cout<<"a["<<k<<"] = "<<yasuo.data[k]<<endl;
}

void display_appoint(arr yasuo,int x,int y){


    if(y>x){
        int temp;
        temp = x;
        x = y;
        y = temp;
    }
    cout<<x<<y<<endl;
    cout<<"a["<<x<<"]["<<y<<"]"<<endl;
    cout<<"a["<<((x)*(x-1)/2)+y<<"] = "<<yasuo.data[((x)*(x-1)/2)+y]<<endl;
}

int main()
{
    com c;
    arr a;
    compass(c,a,10);
    display_all(a);
    display_appoint(a,10,8);
    return 0;
}


 

© 著作权归作者所有

共有 人打赏支持
cyleft
粉丝 1
博文 31
码字总数 10068
作品 0
九江
程序员
C++雾中风景番外篇:理解C++的复杂声明与声明解析

在学习C系列语言的过程之中,理解C/C++的复杂声明一直是初学者很困扰的问题。笔者初学之时也深受困扰,对很多规则死记硬背。后续在阅读《C专家编程》之后,尝试在编译器的角度来理解C/C++的声...

LeeHappen
09/05
0
0
C语言/C++编程学习—神秘小游戏制作源代码

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
03/25
0
0
Effective STL - 容器

STL(standard template library)提供了一组表示容器,迭代器,函数对象和算法的模板。容器是一个与数组类似的单元,可以存若干个值。 STL容器是同质的,即存储的值的类型相同;算法是完成特...

積木leayn
2013/10/07
0
0
Cocos2d-x中关于lua的坑

上周在项目开发中遇到一个奇怪的问题,某个c++模块解压完的字节流数据传递给lua后,lua在做基于字节流的反序列化时始终出错,刚开始以为是不是c++模块读取出来的字节流有问题,但是debug发现,c+...

pigsoldier
2014/07/06
0
0
STL vector 介绍连载1-2-3

STL简介: STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是...

天远
2012/05/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部