⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5.22.txt

📁 数据结构实验 如下: Status Fibonacci(int k, int m, int &f) /* 求k阶斐波那契序列的第m项的值f */
💻 TXT
字号:
Status AddTSM(TSMatrix &A,TSMatrix B)
/* 将三元组矩阵B加到A上: A=A+B */
{
    int pa,pb,pc;
    int i,j,x,sum;
    if(A.mu!=B.mu||A.nu!=B.nu) return ERROR;
    
    if(A.tu==0)   {                          //当A的非零元数为0时
        for(i=1;i<=B.tu;i++){
            A.data[i].i=B.data[i].i;
            A.data[i].j=B.data[i].j;
            A.data[i].e=B.data[i].e;
        }
        A.tu=B.tu;
        return OK;
    } 
   
    for(i=1;i<=A.tu;i++)                   //先把A的元素储存到后面
        A.data[MAXSIZE-A.tu+i]=A.data[i];

    pa=MAXSIZE-A.tu+1;                          
    pb=1;
    pc=1;
    for(x=1;x<=A.mu;x++){
        while(pa<MAXSIZE&&A.data[pa].i<x)  pa++;
        while(pb<B.tu&&B.data[pb].i<x)  pb++;
        while(pa<=MAXSIZE&&pb<=B.tu&&A.data[pa].i==x&&B.data[pb].i==x) {
            if(A.data[pa].j==B.data[pb].j) {
                sum=A.data[pa].e+B.data[pb].e;
                if(sum){
                    A.data[pc].i=x;
                    A.data[pc].j=A.data[pa].j;
                    A.data[pc].e=sum;
                    pc++;
                }
                pa++;pb++;
            }
            else if(A.data[pa].j>B.data[pb].j){
                 A.data[pc].i=x;
                 A.data[pc].j=B.data[pb].j;
                 A.data[pc].e=B.data[pb].e;
                 pc++;pb++;
            }
            else{
                 A.data[pc].i=x;
                 A.data[pc].j=A.data[pa].j;
                 A.data[pc].e=A.data[pa].e;
                 pc++;pa++;
            }
        }
        while(pa<=MAXSIZE&&A.data[pa].i==x)
        {
            A.data[pc].i=x;
            A.data[pc].j=A.data[pa].j;
            A.data[pc].e=A.data[pa].e;
            pa++;pc++;
        }
        while(pb<=B.tu&&B.data[pb].i==x)
        {
            A.data[pc].i=x;
            A.data[pc].j=B.data[pb].j;
            A.data[pc].e=B.data[pb].e;
            pb++;pc++;
        }        
    }
     for(i=MAXSIZE-A.tu+1;i<MAXSIZE;i++){
        A.data[i].i=0;
        A.data[i].j=0;
        A.data[i].e=0;
     }
     A.tu=pc-1;
     return OK;   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -