2021-06-26 16:20 采纳率: 100%
浏览 239
已采纳

合并两个有序顺序表为一个有序顺序表时结果出现-842150451

#include<iostream>

using namespace std;

//动态分配

#define InitSize 100   

typedef int ElemType; 

typedef struct {

     ElemType *data; 

     int length; 

      int MaxSize; 

}SeqList;

 

//顺序表初始化

void InitList(SeqList &L) {

  L.data = new ElemType[InitSize];

  if(!L.data) {

     cout<<"存储空间申请失败!";

  return;

  }

     L.length = 0; 

  L.MaxSize = InitSize;

}

//合并两个有序顺序表

bool Merge(SeqList A,SeqList B,SeqList &C) {

     if(A.length + B.length > C.MaxSize)

   return false;

  int i = 0,j = 0,k = 0;

  while(i < A.length && j < B.length) {

      if(A.data[i] <= B.data[j])

             C.data[k++] = A.data[i++];

   else

    C.data[k++] = B.data[j++];

  }

  while(i < A.length) 

         C.data[k++] = A.data[i++];

     while(j < B.length) 

         C.data[k++] = B.data[j++];

     C.length = k;

  return true;

}

//遍历并打印顺序表

void PrintList(SeqList L) {

   for (int i =0;i <L.length;i ++)

        cout <<L.data [i]<<" ";

   cout <<endl;

}

void main(){

    SeqList A;

    InitList(A);

    SeqList B;

    InitList(B);

    SeqList C;

    InitList(C);

    A.length = 4;

    B.length = 5;

    C.length = A.length + B.length;

    cout<<"打印A有序表:"<<endl;

    for(int i = 0;i < A.length;i++) {

    A.data[i] = 2 * i + 1;

    }

    PrintList(A);

    cout<<"打印B有序表:"<<endl;

    for(int j = 0;j < B.length;j++) {

         A.data[j] = 2 * (j+1);

    }

    PrintList(B);

    cout<<"打印合并顺序表C:"<<endl;

    if(Merge(A,B,C))

         PrintList(C);

}

运行结果如下图所示

如何解决,求大佬告知

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-06-26 16:22
    关注

    乱码时指针值吧,写急了吧,A,B写混了

      for(int j = 0;j < B.length;j++) {

             A.data[j] = 2 * (j+1);

    这里应该时B.data[j] = 2*(j+1)啊,把改写到B的写入A了,B等于啥也没有

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB矩阵分离问题
  • ¥15 QT IFW 自定义界面添加lineedit小键盘输入数字无效果
  • ¥15 python thinter动态建立Entry并读取数据
  • ¥150 电路仿真,演示反激变压器升压
  • ¥100 libcurl使用无法连接服务器问题
  • ¥30 链表栈表达式求值求解
  • ¥15 关于龙芯1b,JTAG停止调试服务
  • ¥15 求一个图片中的成交量选股公式
  • ¥15 已知正方形内随机生成坐标matlab
  • ¥30 关于#python#的问题:我想要的是这79个大特征对于房屋售价的最大的影响前十名(相关搜索:随机森林)