论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

数据结构演示(tc版)

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:45:25

/*前段时间写的几个tc版演示,其中一些程序在与郭翠英老师合作的<<c语言课程设计案例精编>>中用到,所以源码也就不能随便发布了,在这里主要把程序主题列出来了,因为没经验,所以没用建立工程的方法写这个程序,以后假如还有机会用tc写稍微大点的程序,应该要注重这点了。用tc来练习这些程序也是对我上学期学的数据结构复习了下,个人感觉写类似的程序一方面能提高学习爱好,一方面也能多动下脑子。
还有别的什么有趣的演示大家可以想想!

*/

/*上海工程技术大学 02211 朱昀*/

#include "ysfun.c"/*软件常用的一些函数,比如输入输出函数等*/
#include "yshead.c"/*演示软件的开头显示部分*/
#include "rjend.c"/*结束后的提示语*/
/************************次序必须这样*******************************/
#include "f5.c"/*F5的功能*/
#include "ysmaopao.c"/*冒泡法演示*/
#include "queen.c"/*具体的皇后问题*/
#include "hanoi.c"/*具体的汉诺塔问题*/
#include "maze1.c"/*不是最短路径的迷宫探路*/
#include "jssort.c"/*基数排序*/
#include "tree2.c"/*二叉树遍历演示*/
#include "slsort.c"/*双向链表插入排序*/
#include "yser.c"/*二分法查找演示*/
#include "maze2.c"/*迷宫最短路径*/
#include "clist.c"/*报数问题*/
#include "slsort2.c"/*双链表选择排序*/
#include "insort.c"/*插入排序*/
#include "qsort.c"/*快速排序演示*/
#include "tushort.c"/*临接矩阵找最短路径*/
#include "merge.c"/*合并排序*/
#include "fib.c"/*fibonacci问题*/
#include "findtree.c"/*查找树*/
#include "car.c"/*小车入柞*/
#include "hor.c"/*马踏棋盘*/
#include "clock.c"/*时钟*/
#include "kuopo.c"/*拓扑排序*/
#include "dsort.c"/*堆排序*/
#include "huffman.c"/*huffman树*/
#include "juzhch.c"/*矩阵转换*/
#include "cxtree.c"/*穿线树*/
#include "xesort.c"/*希尔排序*/
#include "dolist.c"/*单链表插入*/
#include "maze3.c"/*柞实现四个方向的迷宫探路*/
#include "bds.c"/*表达式求解*/
#include "jzadd.c"/*系数矩阵相加*/
void OdinaryData()/*普通演示*/
{
 char flag=0;
 ClrScr();
 HZ12(50,50,20,0,"A.矩阵转置");
 HZ12(50,80,20,0,"B.穿线树生成");
 HZ12(50,110,20,0,"C.单链表插入结点");
 HZ12(50,140,20,0,"D.三元矩阵相加");
 flag=Chose(200,350,1);/*输入选择的内容*/
 ClrScr();
 if(flag=='A'||flag=='a')/*矩阵转置*/
  JuChangeMain();
 if(flag=='B'||flag=='b')/*穿线树*/
  CxtreeMain();
 if(flag=='c'||flag=='C')
  DolistMain();/*单链插入结点*/
 if(flag=='d'||flag=='D')
  JzaddMain();/*系数矩阵相加*/
 ClrScr();
}
void GoodCtext()/*F2经典例子*/
{
 char flag=0;
 ClrScr();
 HZ12(50,50,20,0,"A.皇后问题(测试)");
 HZ12(50,80,20,0,"B.汉诺塔问题");
 HZ12(50,110,20,0,"C.迷宫探路");
 HZ12(50,140,20,0,"D.迷宫探路之最短路径");
 HZ12(50,170,20,0,"E.发牌程序--基数排序");
 HZ12(50,200,20,0,"F.报数问题");
 HZ12(50,230,20,0,"G.Fibonacci问题");
 HZ12(50,260,20,0,"H.入柞出柞(测试)");
 HZ12(50,290,20,0,"I.马踏棋盘(测试)");
 HZ12(350,50,20,0,"J.时钟演示(测试)");
 HZ12(350,80,20,0,"K.Huffman树(测试)");
 HZ12(350,110,20,0,"L.迷宫探路之柞实现");
 HZ12(350,140,20,0,"M.中缀转前缀");
 flag=Chose(200,350,1);/*输入选择的内容*/
 ClrScr();
 if(flag=='A'||flag=='a')
  Queen();/*皇后问题*/
 else if(flag=='B'||flag=='b')
  HanoiInit();/*汉诺塔问题*/
 else if(flag=='C'||flag=='c')
  Maze();/*迷宫探路*/
 else if(flag=='d'||flag=='D')
  MAZE2();/*迷宫最短路径*/
 else if(flag=='E'||flag=='e')
  JsSort();/*基数发牌演示*/
 else if(flag=='f'||flag=='F')
  ClistMain();/*报数问题*/
 else if(flag=='g'||flag=='G')
  Fibonacci();/*Fibonacci问题*/
 else if(flag=='H'||flag=='h')
  CarMain();/*入柞出柞*/
 else if(flag=='i'||flag=='I')
  HorseMain();/*马踏棋盘*/
 else if(flag=='j'||flag=='J')
  ClockMain();/*时钟*/
 else if(flag=='k'||flag=='K')
  HuffmanMain();/*huffman树*/
 else if(flag=='L'||flag=='l')
  ZMazeMain();/*柞的迷宫探路*/
 else if(flag=='M'||flag=='m')
  BdsMain();/*中缀转前缀*/
 ClrScr();/*演示结束*/
}
void DataDemo()/*趣味演示*/
{
 char flag=0;
 ClrScr();
 HZ12(50,50,20,0,"A.二叉树四种遍历");
 HZ12(50,80,20,0,"B.双向链表边建立边排序");
 HZ12(50,110,20,0,"C.二分法演示");
 HZ12(50,140,20,0,"D.冒泡法排序");
 HZ12(50,170,20,0,"E.选择法排序");
 HZ12(50,200,20,0,"F.插入排序");
 HZ12(50,230,20,0,"G.快速排序演示(测试)");
 HZ12(50,260,20,0,"H.邻接矩阵找最短路径(测试)");
 HZ12(50,290,20,0,"I.合并排序演示");
 HZ12(350,50,20,0,"J.建立排序树(测试)");
 HZ12(350,80,20,0,"K.拓扑排序(测试)");
 HZ12(350,110,20,0,"L.堆排序(测试)");
 HZ12(350,140,20,0,"M.希尔排序(测试)");
 flag=Chose(200,350,1);/*输入选择的内容*/
 ClrScr();
 if(flag=='A'||flag=='a')/*二叉树遍历*/
  Tree2Main();
 else if(flag=='B'||flag=='b')/*双链表插入排序*/
  SlSortMain();
 else if(flag=='c'||flag=='C')/*二分法查找演示*/
  ErMain();
 else if(flag=='d'||flag=='D')/*冒泡法排序*/
  MaoMain();
 else if(flag=='e'||flag=='E')/*选择法排序(双链表)*/
  SLSort2();
 else if(flag=='f'||flag=='F')
  InsertionSortMain();/*插入排序*/
 else if(flag=='g'||flag=='G')
  QuickSortMain();/*快速排序演示*/
 else if(flag=='h'||flag=='H')
  TuShortMain();/*图中的最短路径*/
 else if(flag=='i'||flag=='I')
  MergeSort();  /*合并排序演示*/
 else if(flag=='j'||flag=='J')
  FtreeMain();/*建立查找树*/
 else if(flag=='k'||flag=='K')
  KPMain();/*拓扑排序*/
 else if(flag=='l'||flag=='L')
  DSortMain();/*堆排序*/
 else if(flag=='M'||flag=='m')
  XeSortMain();/*希尔排序*/
 ClrScr();/*演示结束*/
}
void RjRun()/*系统运行阶段*/
{
 int key;
 int flag=1;
 while(flag)
 {
  key=bioskey(0);
  switch(key)
  {
   case ESC:flag=0;break;
   case F1:OdinaryData();break;
   case F2:GoodCtext();break;/*经典例子*/
   case F3:DataDe mo();break;/*趣味演示*/
   case F5:RjHelp();break;/*软件介绍*/
  }
 }
}
void main()
{
 int gd=DETECT,gm;
 registerbgidriver(EGAVGA_driver);/*独立模式*/
 initgraph(&gd,&gm,"c:\\tc");
 RjWindow();/*软件初始画面*/
 RjRun();/*系统运行阶段*/
 closegraph();
 clrscr();
 RjEdn();
 getch();
}

点这里下载
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058