精华内容
下载资源
问答
  • 不要在视图模板中加入任何复杂的逻辑。 多选 4.关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。 B .iBATIS自带的...
  • 本篇博客为基础内容,都是模板,具体内容具体分析,数据结构的基础知识。(本文为博主回忆数据结构而写,有什么问题,欢迎留言私信) #include<iostream>//默认采用的是utf-8编码方式。终端输出是gb2312的方式...

    线性表与链表

    线性表代码

    本篇博客为基础内容,都是模板,具体内容具体分析,数据结构的基础知识。(本文为博主回忆数据结构而写,有什么问题,欢迎留言私信)

    #include<iostream>//默认采用的是utf-8编码方式。终端输出是gb2312的方式。
    #define Ok 1
    #define Error 0
    #define MaxSize 100
    using namespace std;
    typedef struct 
    {
        int length;
        int *elem;
    }sqlist;
    
    int init(sqlist &list){//初始化一个线性表。
        list.elem=new int[MaxSize];
        if(!list.elem)
        exit(OVERFLOW);
        list.length=0;
        return Ok;
    }
    int GEtelem(sqlist L,int i,int &e){//顺序表的取值。
        if(i<1||i>L.length) return Error;
        e=L.elem[i-1];
        return Ok;
    }
    int LocateElem(sqlist L,int e){
        for (int  i = 0; i <L.length ;i++)
        {
            if(L.elem[i]==e)return i+1;
                    /* code */
        }
        return 0;
        
    }
    int insert(sqlist &L,int i,int e){//插入数值。
        if(i<1||i>L.length)return Error;
        if(L.length==MaxSize)return Error;
        for (int j = L.length-1;j>=i;j--)
        {
            L.elem[j+1]=L.elem[j];
        }
        L.elem[i-1]=e;
        ++L.length;
        return Ok;
    }
    int ListDelete(sqlist &list,int i){//顺寻表的删除。
        if(i<1||i>=list.length) return Error;
        for (int  j = i; i < list.length;j++)
        {
            list.elem[j-1]=list.elem[j];
        }
        --list.length;
        return Ok;
    }
    int gevan(sqlist &list,int length){
        if(length<1||length>MaxSize)return Error;
        for(int i=0;i<length;i++){
            cin>>list.elem[i];
        }
        list.length=length;
    }
    int main(){
        sqlist List;
        init(List);
        int length;
        cin>>length;
        gevan(List,length);
        return Ok;
    }
    
    

    线性表也可以通过对结构体的灵活运用,产生较好的数据结构
    如:图书与价格的线性表

     struct node
     {
         string s;
         int price;
     };
     typedef  struct List
     {
        node* data;
         int length;
     }List;
    

    链表

    #include<stdio.h>//队列
    #include<iostream>
    using namespace std;
    #define OK 1
    #define error -1
    typedef struct Lnode
    {
        int data;
        Lnode * next;
    }Lnode,*LinkList;
    int init(LinkList &L){
        L=new Lnode;
        L->next=NULL;
        return OK;
    }
    int getelem(LinkList L,int i,int e)//第i个,存于e;
    {
        Lnode* p=L->next; 
        int j=1;
        while (p&&j<i)
        {
            p=p->next;
            j++;
        }
        if(!p||j>1)return error;
        e=p->data;
        return OK;
        
    }
    Lnode* locateelem(LinkList &L,int e){//返回节点
        Lnode *p=L->next;
        while (p&&p->data!=e)
        {
            p=p->next;
        }
        return p;
    }
    int ListInsert(LinkList &L,int i,int e){//在第i个位置插入数值e
        Lnode *p=L;
        int j=0;
        while (p&&j<i-1)
        {
            p=p->next;
            j++;
        }
        if(!p&&j>i+1){
            return error;
        }
        Lnode *s=new Lnode;
        s->data=e;
        s->next=p->next;
        p->next=s;
        return OK;
    }
    int listdelete(LinkList &L,int i){//单链表的删除。
        Lnode *p=L;
        int j=0;
        while (p&&j<i-1)
        {
            p=p->next;
            j++;
        }
        if(!p||j>i-1){
            return error;
        }
        Lnode *q=p->next;
        p->next=q->next;
        delete q;//释放删除节点的内存。指针会消耗内存。
        return OK;
    }
    void CreateList(LinkList &L,int n){//尾插法
        L=new Lnode;
        L->next=NULL;
        Lnode* r=L;
        for (int  i = 0; i < n;i++)
        {
            Lnode *p=new Lnode;
            cin>>p->data;
            p->next=NULL;
            r->next=p;
            r=p;
        }
    }
    void CreateList2(LinkList &L,int n){//前插法创立链表。
        L=new Lnode;
        L->next=NULL;
        for (int i = 0; i <n ;i++)
        {
            Lnode*p=new Lnode;
            cin>>p->data;
            p->next=L->next;
            L->next=p;
        }
        
    }
    
    void printlist(LinkList L){
        Lnode *p=L->next;
        while (p)
        {
            cout<<p->data;
            cout<<" ";
            p=p->next;
        }
        cout<<endl;
    }
    
    int main(){
        int n;
        cin>>n;
        LinkList L;
        // CreateList2(L,n);
        CreateList(L,n);
        printlist(L);
        ListInsert(L,2,8);
        printlist(L);
        while(1);
    }
    
    

    双向链表

    #include<stdio.h>
    #include<iostream>
    using namespace std;
    typedef struct  DuLnode{
        int data;
        DuLnode *front;
        DuLnode *next;
    }DuLnode,*DuListLink;
    
    void CreatDou(DuListLink &L,int n){//前插法创建双向链表
        L=new DuLnode;
        L->next=L;
        L->front=L;
        for (int  i = 0; i < n; i++)
        {
            DuLnode *node=new DuLnode;
            cin>>node->data;
            node->next=L->next;
            node->front=L;
            node->next->front=node;
            L->next=node;
        }
    }
    
    void CreateList(DuListLink &L,int n){//双向链表的后插法。
        L=new DuLnode;
        L->next=L;
        L->front=L;
        DuLnode*r=L;
        for (int i = 0; i < n;i++)
        {
            DuLnode* p=new DuLnode;
            cin>>p->data;
            p->next=r->next;
            p->front=r;
            r->next->front=p;
            r->next=p;
            r=r->next;
        }
    }
     void deleleLnode(DuListLink &L,int i){
         DuLnode *p=L->next;
         int j=1;
         while (p->next!=L&&j<i)
         {
             p=p->next;
             j++;
         }
         if(j>i||p->next==L){
             return;
         }
         p->front->next=p->next;
         p->next->front=p->front;
         delete p;
     }
    
     void insert(DuListLink &L,int i,int e){
         DuLnode*node=new DuLnode;
         node->data=e;
         DuLnode *p=L->next;
         int j=1;
         while (p!=L&&j<i)
         {
             p=p->next;
             j++;
         }
         if(p==L||j>i)
         return;
         node->next=p->next;
         node->front=p;
         p->next->front=node;
         p->next=node;
         return;
     }
    
    void Print(DuListLink L){
        DuLnode* p=L->next;
        while (p!=L)
        {
            cout<<p->data;
            cout<<" ";
            p=p->next;
        }
        cout<<endl;
    }
    int main(){
        int n;
        cin>>n;
        DuListLink L;
        // CreatDou(L,n);
        CreateList(L,n);
        Print(L);
        deleleLnode(L,1);
        Print(L);
        insert(L,3,3);
        Print(L);
        while(1);
    }
    
    展开全文
  • 数据结构与算法分析

    2013-10-15 22:42:42
    书的内容包括、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分析...
  • 研究生的算法分析课程可以使用第7章到第11章的内容。在第11章分析的高级数据结构可以很容易地在前面各章中查到。第9章中对NP完全性的讨论太过简短,以至于不能用于算法分析课程。可以使用论述NP完全性的其他书籍来...
  • 9.6 摆脱具有多维数据集函数的数据透视表模板 196 9.7 下一步 198 第10章 借助宏改善数据透视表报表 199 10.1 为什么对数据透视表报表使用宏 199 10.2 录制第一个宏 200 10.3 创建带有表单控件的用户...
  • 9.6 摆脱具有多维数据集函数的数据透视表模板 196 9.7 下一步 198 第10章 借助宏改善数据透视表报表 199 10.1 为什么对数据透视表报表使用宏 199 10.2 录制第一个宏 200 10.3 创建带有表单控件的用户...
  • 9.6 摆脱具有多维数据集函数的数据透视表模板 196 9.7 下一步 198 第10章 借助宏改善数据透视表报表 199 10.1 为什么对数据透视表报表使用宏 199 10.2 录制第一个宏 200 10.3 创建带有表单控件的用户...
  • 9.6 摆脱具有多维数据集函数的数据透视表模板 196 9.7 下一步 198 第10章 借助宏改善数据透视表报表 199 10.1 为什么对数据透视表报表使用宏 199 10.2 录制第一个宏 200 10.3 创建带有表单控件的用户...
  • 请将以下内容压缩打包后以附件的方式上传(附件大小不能超过10M),需包含以下内容: (1)可以使用Eclipse顺利编译的项目源码; (2)可以直接运行的.exe文件; (3)项目报告(参看三、附件——项目报告模板)...
  • 书的内容包括、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分析...
  • 书的内容包括、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分析...
  • 书的内容包括、栈、队列、树、散列表、优先队列、排序、不 相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分 ...
  •  1.1 本书讨论的内容   1.2 数学知识复习   1.2.1 指数   1.2.2 对数   1.2.3 级数   1.2.4 模运算   1.2.5 证明方法   1.3 递归的简单介绍   1.4 C++类   1.4.1 基本class语法   ...
  • 书的内容包括、栈、队列、树、散列表、优先队列、排序、不 相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分 ...
  • *4.7 函数模板 *4.8 有默认参数的函数 4.9 函数的嵌套调用 4.10 函数的递归调用 4.11 局部变量和全局变量 4.11.1 局部变量 4.11.2 全局变量 4.12 变量的存储类别 4.12.1 动态存储方式与静态存储方式 4.12.2 自动变量...
  • *4.7 函数模板 *4.8 有默认参数的函数 4.9 函数的嵌套调用 4.10 函数的递归调用 4.11 局部变量和全局变量 4.11.1 局部变量 4.11.2 全局变量 4.12 变量的存储类别 4.12.1 动态存储方式与静态存储方式 4.12.2 自动变量...
  • 税审V6升级

    2012-02-07 14:35:53
    ②对中税协底稿进行了全面分析,部分底稿重新按新指南设计,对其部分不足的底稿仍保留原底稿(比如:中税协部分底稿是一种通用格式,没有根据会计科目核算内容设计。) ③中税协指南中不含资产负债类底稿,我们...
  • 前端插件定制之表内容 第27周 前端插件定制之定制td内容以及属性 CMDB插件示例演示 算法介绍与列表查找 冒泡 选择 插入排序 快排 堆排序 第28周 堆排序复习 归并排序 希尔排序 算法练习 栈和队列 数据结构其他
  • 实例070 网页版九九乘法 104 实例071 读取数组购物车中的数据 105 实例072 图像验证码的生成 106 2.6 跳转语句 107 实例073 控制页面中表情图的输出 107 实例074 控制页面中数据的输出数量 108 实例075 动态改变...
  • 实例070 网页版九九乘法 104 实例071 读取数组购物车中的数据 105 实例072 图像验证码的生成 106 2.6 跳转语句 107 实例073 控制页面中表情图的输出 107 实例074 控制页面中数据的输出数量 108 实例075 动态改变...
  • EAS总账应用问题集2013

    2013-08-14 16:34:22
    354 凭证中字段FSOURCETYPE、FBIZSTATUS的内容及含义 26 4.账簿、财务报表 26 41明细分类账导出报错 26 42多栏账方案报错 27 43辅助核算明细表内容为空 27 44辅助核算明细借方、贷方列数显示异常 27 45凭证金额...
  • 137:项目实战:从HBase读取数据进行新增用户统计分析(三) 138:项目实战:从HBase读取数据进行新增用户统计分析(四) 139:项目实战:部署运行(CLASSPATH设置)及Executor内存使用优化
  • 智能图像处理技术PDF

    热门讨论 2010-10-28 17:31:22
    全书共分为15章,重点讨论了图像边缘检测、图像分割、图像特征分析、图像配准、图像融合、图像分类、图像识别、基于内容的图像检索与图像数字水印。此外,为了内容的完整性,本书还介绍了图像预处理技术,如图像采集...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 204
精华内容 81
关键字:

内容分析编码表模板