线性表的应用
来源:互联网 发布:在线客服系统源码 编辑:程序博客网 时间:2024/04/29 05:38
通过计算任意两个表的简单自然连接过程讨论线性表的应用。书本2.4
#include<iostream>using namespace std;#define MaxCol 10typedef struct Node1{int data[MaxCol];struct Node1 *next;}DList;typedef struct Node2{int Row,Col;DList *next;}HList;void CreateTable(HList *&h){int i,j;DList *r,*s;h=(HList *)malloc (sizeof(HList));h->next=NULL;printf("表的行数,列数:");scanf("%d%d",&h->Row,&h->Col);for(i=0;i<h->Row;i++){printf("第%d行",i+1);s=(DList *)malloc (sizeof(DList));for(j=0;j<h->Col;j++){scanf("%d",&s->data[j]);if(h->next==NULL)h->next=s;elser->next=s;r=s;}r->next=NULL;}}void DispTable (HList *h){int j;DList *p=h->next;while(p!=NULL){for(j=0;j<h->Col;j++)printf("%4d",p->data[j]);printf("\n");p=p->next;}}void LinkTable(HList *h1,HList *h2,HList *&h){int i,j,k;DList *p=h1->next,*q,*s,*r;printf("连接字段是:第一个表位序,第二个表位序:");scanf("%d%d",&i,&j);h=(HList *)malloc (sizeof(HList));h->Row=0;h->Col=h1->Col+h2->Col;h->next=NULL;while (p!=NULL){q=h2->next;while(q!=NULL){if(p->data[i-1]==q->data[j-1]){s=(DList *)malloc (sizeof(DList));for(k=0;k<h1->Col;k++)s->data[k]=p->data[k];for(k=0;k<h2->Col;k++)s->data [h1->Col+k]=q->data[k];if(h->next==NULL)h->next=s;elser->next=s;r=s;h->Row++;}q=q->next;}p=p->next;}r->next=NULL;}void main(){HList *h1,*h2,*h;printf("表1:\n");CreateTable(h1);printf("表2:\n");CreateTable(h2);LinkTable(h1,h2,h);printf("连接结果表:\n");DispTable(h);}
- 线性表的应用
- 线性表的应用
- 线性表的应用
- 数据结构----线性表的应用
- 【应用】线性表的删除
- 数据结构----线性表的应用
- 线性表的应用1
- 线性表的应用2
- 数据结构与算法系列-线性表-线性表的应用
- 线性表的应用----多项式操作
- 线性表的应用-选首领
- 多项式运算线性链表的应用
- 线性表的应用之栈
- 线性表的基本操作及应用
- 线性表的基本操作及其应用
- 线性表的基本操作及其应用
- 线性表的顺式存储简单应用
- 线性表及其应用
- java注意事项
- Oracle数据库链Database links
- 银行系统开发
- MPU-存储保护单元概述
- The Next Permutation
- 线性表的应用
- Vc内存错误码大全
- iOS的日历控件开源代码
- c++设计模式—简单工厂模式
- Linux SVN 命令详解
- CoreAnimation编程指南(四)图层树结构
- 64位系统asp连接access数据库
- hudson 构建项目时错误:java.lang.StackOverflowExcption
- Android GridView中GridAdapter 用法详解