C/C++教程

C语言数据结构题

本文主要是介绍C语言数据结构题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C语言数据结构题

3.15

  • a.写出自调整( self-adjusting)表的数组实现。自调整表如同一个规则的表,但是所有的插入都在表头进行,当一个元素被Find 访问时,它就被移到表头而并不改变其余的项的相对顺序。
  • b.写出自调整表的链表实现。

3.16

假设我们有一个基于数组的表 A[0..N - 1],并且我们想要删除所有相同的元素。LastPosition 初始值为 N - 1,但该值随着相同元素被删除而变得越来越小。考虑图3-61中的伪码程序段。过程Delete 删除位置j上的元素并使表破坏。

图3-61 从表中删除重元素的例程

/*1*/for (i = 0; i < LastPosition; i++) {
/*2*/   j = i + 1;
/*3*/   while (j < LastPosition)
/*4*/       if (A[i] == A[j])
/*5*/           Delete(j);
            else
/*6*/           j++;
  • a.解释该过程是如何进行工作的。
  • b.利用一般的表操作重写这个过程。(用数组和链表分别实现)
  • c.如用标准的数组实现,则这个过程的运行时间是多少?
这篇关于C语言数据结构题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!