数据结构作业答案大连理工大学.docxVIP

  • 27
  • 0
  • 约5.8千字
  • 约 15页
  • 2021-03-25 发布于山东
  • 举报
作业 1. 线性表 编程作业: 1. 将顺序表逆置,要求用最少的附加空间。 参考答案 #include #include #include #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int ElemType; typedef struct {ElemType *elem; int length; int listsize; }SqList; 立单链表 ); printf(2. 取元素值 ); printf(3. 查找 \n); printf(4. 插入 ); printf(5. 删除 ); printf(6. 显示 \n); printf(7. 删除大于 mink 且小于 maxk 的元素值 ); printf(8. 就地升序排序 \n); printf(9. 就地逆置 ); printf(a. 有序表插入 ); printf(q. 退出 \n); printf(\n 请选择操作: ); fflush(stdin); scanf(%c,choice); switch(choice) { case 1: printf( 请输入单链表中结点个数: ); scanf(%d,n); Create_L2(L,n); break; case 2: printf( 请输入元素位序: ); scanf(%d,i); GetElem_L(L,i,e); printf( 元素值为: %d\n,e); break; case 3: printf( 请输入要查找的元素: ); scanf(%d,e); if(dlbcz(L,e)) printf( 查找成功! ); else printf( 查找失败。 ); break; case 4: printf( 请输入插入位置: ); scanf(%d,i); printf( 请输入要插入的元素: ); scanf(%d,e); if(ListInsert_L(L,i,e)) printf( 插入成功!单链表为: ); else printf( 插入失败。 ); break; case 5: printf( 请输入删除位置: ); scanf(%d,i); if(ListDelete_L(L,i,e)) printf( 删除成功! ); else printf( 删除失败。 \n); break; case 6: printf(\n 单链表为: ); xsList(L); break; case 7: printf( 请输入 mink 和 maxk:); scanf(%d,%d,mink,maxk); DelList(L,mink,maxk); break; case 8: sh_sort(L); break; case 9: nizhi(L); break; case a: printf( 请输入在有序表中插入的元素值 :); scanf(%d,e); yxcharu(L,e); break; } } } 作业 2. 栈、队列、数组 非编程作业: 1. 若进栈序列为 ABCD ,请写出全部可能的出栈序列和不可能的出栈序列。 参考答案: 可能的出栈序列: (14 种 ) dcba cdba bacd cbda adcb cbad bdca acdb bcda acbd bcad abdc badc abcd 不可能的出栈序列: (10 种) dbca dbac dabc dacb dcab cabd cdab bdac cadb adbc 2. 简要说明循环队列如何判断队满和队空 参考答案: 当牺牲一个存储结点,约定以 “队列头指针在队列尾指针的下一位置(指环状的下一个位置)上 ”作为队列 “满”状态的标志时,循环队列判断队满的条件为: (rear+1) % MaxQsize==front;判断队空的条件为: front == rear。 3. 设 A 为 n 阶对称矩阵,采用压缩存储存放于一维数组 F[n(n+1)/2] 中(从 F[0] 开始存放),请分别给出存放上三角阵时任一矩阵元素 aij ( ≤ ≤ )的地 址计算公式和存放下三角阵时任一矩阵元素 a(ij ≤ 1 i,j n 1 i,j n 参考答案: 存放上三角阵时 ,任一矩阵元素 aij ( 1 ≤ i,j ≤ n ) 的地址计算 公式为: i i -1 1 * l Loc(aij )=Loc(a1

文档评论(0)

1亿VIP精品文档

相关文档