DOLLAR. 发表于 2021-5-27 10:31:39

萌新的一些问题,求大神帮忙

typedef int DataType;
void Reverse(DataType A[], int left, int right, int arraySize) {
//假定在一位数组中放入两个顺序表(a1-am和b1-bn),要求变换成b1-bn,a1-am
      if (left >= right || right >= arraySize)
                return;
      int mid = (left + right) / 2;
      for (int i = 0; i <= mid - left; i++) {
                DataType temp = A;
                A = A;
                A = temp;
      }
}

void Exchange(DataType A[], int m, int n, int arraySize) {
      Reverse(A, 0, m + n - 1,arraySize);
      Reverse(A, 0, n - 1, arraySize);
      Reverse(A, n, m + n - 1, arraySize);
}

如代码所示,首先想问一下typedef int DataType;语句是什么意思,其次是arraySize是数组大小吗?

#include"tst1.cpp"
int main()
{
      SqList *L;
      ElemType e;
      ElemType value;
      DataType A = {0};
      printf("顺序表的基本运算如下:\n");
      printf("初始化顺序表L\n");
      InitList(L);
      printf("依次插入1-8八个元素\n");
      ListInsert(L, 1, '1');
      ListInsert(L, 2, '2');
      ListInsert(L, 3, '3');
      ListInsert(L, 4, '4');
      ListInsert(L, 5, '5');
      ListInsert(L, 6, '6');
      ListInsert(L, 7, '7');
      ListInsert(L, 8, '8');
      printf("输出顺序表L:"); DispList(L);
      printf("顺序表L的长度:%d\n", ListLength(L));
      printf("变换顺序表顺序\n");
      Exchange(A, 5, 8, 9);
      printf("输出顺序表L:"); DispList(L);
      printf("释放顺序表L\n");
      DestroyList(L);
      return 1;
}

这个是我的调用过程,但是输出结果有问题
如图,按照逻辑应该输出67812345,但是结果不太对
求大佬指点


万千只cnm 发表于 2021-5-27 11:05:04

#include<stdio.h>
typedef int DataType;
int main(){
        DataType a=2;
        printf("%d\n",a);
        return 0;
       
}

type 就相当于给类型取别名   
typedef int DataType;-->DateType == int    因此也可以用别名定义变量登;
arraysize 是数组的大小

DOLLAR. 发表于 2021-5-27 11:59:19

万千只cnm 发表于 2021-5-27 11:05
type 就相当于给类型取别名   
typedef int DataType;-->DateType == int    因此也可以用别名定 ...

谢谢,那后面的问题是怎么回事呀,为什么输出结果不对

万千只cnm 发表于 2021-5-27 12:03:24

DOLLAR. 发表于 2021-5-27 11:59
谢谢,那后面的问题是怎么回事呀,为什么输出结果不对

https://zhidao.baidu.com/question/535058332.html

DOLLAR. 发表于 2021-5-27 15:12:07

万千只cnm 发表于 2021-5-27 12:03
https://zhidao.baidu.com/question/535058332.html

不不,算法没问题,应该是调用的问题,我不太熟c

lei1996 发表于 2021-5-27 15:30:42

Exchange(A, 5, 8, 9);请问你对A数组用函数Exchange 跟我L有什么关系你显示的都是L

万千只cnm 发表于 2021-5-27 18:42:03

DestroyList(L)函数呢还有其他函数定义呢
咋没看到

DOLLAR. 发表于 2021-5-27 19:14:27

万千只cnm 发表于 2021-5-27 18:42
DestroyList(L)函数呢还有其他函数定义呢
咋没看到

其他函数都没有问题,我已经测试过了

DOLLAR. 发表于 2021-5-27 19:14:58

lei1996 发表于 2021-5-27 15:30
Exchange(A, 5, 8, 9);请问你对A数组用函数Exchange 跟我L有什么关系你显示的都是L

诶,你说的在理

龙舞九天 发表于 2021-5-28 05:31:06

{:5_97:}
页: [1]
查看完整版本: 萌新的一些问题,求大神帮忙