递归算法-资料结构

问题描述

资料结构

In this assignment, you will practice programming by using recursive algorithm. In addition, you need to know the fundamental file I/O, and how to use command line arguments.
Use a command line argument with designated input and output file names. Read a set of non- redundant characters that are separated by comma (,) and enclosed by parentheses ({ }) in the input file. Create a pointer of characters to save the elements given. Then print out all permutation of the given set in the output file as follows.
1. Anexampleofcommandline >p2_1 input.txt output.txt
2. An example of input (input.txt) {a,b,c}
3. Corresponding output (output.txt)
{a,b,c} {a,c,b} {b,a,c} {b,c,a} {c,b,a} {c,a,b}
4. Conditions :

  • The element is one character.
  • The maximum number of elements in a set is 100.
  • You should use recursive algorithm.
    中文翻译
    在这个任务中,您将使用递归算法进行编程。另外,你需要知道我的基本文件,以及如何使用命令行参数。
    使用指定输入和输出文件名的命令行参数。在输入文件中用逗号(,)和圆括号({ })所用的非冗余的字符集读取一组。创建一个字符的指针来保存给定的元素。然后打印输出文件中给定集合的所有置换如下。
    1。anexampleofcommandline > p2_1 input.txt output.txt
    2。输入一个例子(输入.txt){ A,B,C }
    3。相应的输出(输出.txt)
    4。条件:
    ?元素是一个字符。
    ?集合中的元素的最大数目是100。
    ?你应该使用递归算法。

解决方案

http://c.biancheng.net/cpp/html/2573.html

时间: 2024-08-01 15:48:58

递归算法-资料结构的相关文章

XML在电子商务中的应用

xml|电子商务   电子商务的发展 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 最早的电子商务是传统的EDI(Electronic Data Interchange,电子数据交换).20世纪60年代末,欧洲和美国几乎同时提出了EDI的概念.早期的EDI是在两个商业伙伴之间依靠计算机之间直接通信完成的,70年代,数字通信技术的发展大大加快了EDI技术的成熟和应用范围

Memory DC与hBitmap

DC 即Device Context,是GDI内部的一个资料结构,一个DC会和某个特定的显示设备(如打印机.屏幕等)产生关联.我们如果能取得该DC的handle 那我们便可以在这显示设备上写字.画图. 在Form 或Picturebox中都有一个hdc的属性,指的便是这东西,但是,怎麽又会有一个Memory DC呢?这是一个存在记忆体内的 dc ,它除了不像form picturebox能将图形.文字显示出来之外,其他的几乎都相同,它也可以用在所有的 GDI API 呼叫之上,其实我们在VB中早

汇编语言程序设计(五)

四.桥式法: 桥式法是利用读写记忆体的特性,将程式中若干指令直接填入,作为临时便桥,以改变此段程式的功能. 例如在显示时,希望能提供多种变化,而又不愿减低速度及增加太多的程式.最好的方法,便是利用桥式法,在同一位址,填入需要的指令. 桥式法用得好而又灵活时,对程式的效率极有助益.但是应该注意一点,就是只能用在可读可写的记忆区中,如若要制成「韧体」,即置入仅读记忆体(ROM) 中的程式,绝不可使用此法. 下面的实例,即为萤幕显示的桥式应用.首先,把架桥的「材料」设置在缓冲器中,如: CDSPMOD

汇编语言程序设计(四)

第五节 程式写作 说了不少,才真正到了写作程式的时候,运用指令就相当于写程式.只是,在运用指令前,一定要充份瞭解一应相关的课题.否则,应用指令如同和稀泥一般,堆砌出一团可以运作的成品,我个人不认为那能叫做「写程式」,充其量只是涂鸦罢了. 一.暂存器安排 因为暂存器不足,必须事先安排妥当,才能有效应用. 再以前例说明,需要安排的因素有: 1,字形大小:此项有两个变数需要安排,一是横向之始.终值; 另一是纵向之始.终值.因为在设计之初,我已经 考虑到极限值的问题,将上限定在 256点,恰在一个字元 

汇编语言的艺术-基本认识(一)

第一节 应用工具 一.对程式的认识 写作程式不难,但要写出好程式却不容易.这就好像画图一样,人人都能画,而画出来的图却可能有天壤之别. 想作一个好画家,首先要有观察及分析的能力,面对着杂乱的事物,先整理出头绪,找到主题.再在画布上勾出轮廓,这叫做「布局」.布局完毕,根据实际的环境,决定作图的先后「顺序」.顺序是一种层次观念,景物及色彩都有一定的层次,绝不可随意所之,想到哪里,画到哪里. 观察考虑完毕,即开始准备,先将画笔.调色板等工具放妥,把要表现的主要色彩也调好.最后是选择适当的画笔,蘸上色彩

汇编语言的艺术-观念正误(三)

第二节 组合语言 一.结构基础 物质文明之有今天的成就,是因为人类掌握了物质的基本结构.物质的种类无穷,但是却都由基本元素交互组成,只要根据一定的法则,就能得到一定的结果. 电脑技术虽然日新月异,应用软件的变化也无止无尽,而其基本因子却非常有限.各种微处理器的组合语言,正是电脑软体的基础结构,任何要通过软件以完成的动作,都是经由组合语言的指令群,逐步执行的. 因为电脑结构复杂,各种任务分工极精,即使是一位资深的高级程式师,终其生也不过局限在若干固定的程式中钻研,很难以宏观的立场认知全貌.再加上市

在Linux服务器上做备份时需要考虑的细节

  如果您进行一般备份,以每日为基础较好 (至少对更动频繁的使用者档案),您将会有助於减少档案的损失,并且增加复原程度.最安全的备份方法是将他们纪录於不同的媒体中,例如磁带,抽取式硬碟,可写式 cd .等. 进行一般的备份应该是负责任的系统管理者的最高优先考虑.虽然Linux是一个高度可靠的作业系统,系统失效仍然可能发生.可能因为硬体故障,电源中断,或其他不可预料的问题.更常见的这些问题是来自人为的错误,不当的变动,甚至因为删除重要的档案.如果您负责管理系统上的用户,一定可能常被要求重建因为不小

Java排序算法&amp;amp;nbsp;堆排序

1991年计算机先驱奖获得者.斯坦福大学计算机科学系教授罗伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法( Heap Sort ).本文主要介绍堆排序用Java来实现. AD: 堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素.堆排序是不稳定的排序方法,辅助空间为O(1), 最坏时间复杂度为O(nlog2n) ,堆排序的堆序的平均性能较接近于最坏性能.

《读书报告 -- Elasticsearch入门 》--简单使用(2)

<读书报告 – Elasticsearch入门 > ' 第四章 分布式文件存储 这章的主要内容是理解数据如何在分布式系统中存储. 4.1 路由文档到分片 创建一个新文档时,它是如何确定应该存储在分片1还是分片2上的呢? 这个过程不是随机的,因为将来要检索文档.事实上,它根据一个简单的算法决定: shard = hash(routing) % number_of_primary_shards routing值是一个任意字符串,它默认是_id但也可以自定义.这个routing字符串通过哈希函数生成