//HashTable.h
#include<iostream>const int defaultsize = 100;enum KindOfStatus{ Active,Empty,Deleted};template<class E,class K>struct ChainNode{ E data; ChainNode<E,K> *link;};template<class E,class K>class HashTable{private: int divisor; //除数,必须是质数 i...
#include<iostream>#include<ctime>#define Swap(i,j) {int s = (i); (i) = (j); (j) = s;}const int MAXSIZE = 30;int array[MAXSIZE];/*直接插入排序基本思想:当插入第I个元素时,前面的V[0],V[1]....V[I-1]已经排好序,这时用V[I]的排序码与V[I-1],V[I-2]....的排序码进行比较,找到插入位置即将V[I]插入,原来位置上的元素向后移.*/void InsertSort(int (&array)[MAXSIZE],const int ...
/*
-------------存储结构-三元组-----------------
#define MAXSIZE 10000 /*非0元素个数最大值10000*/
typedef struct{ int i,j; /*非0元素的行、列下标*/
ElemType e; /*非0元素值*/
}Triple;
typedef struct{ /*稀疏距阵存储结构*/
Triple data[MAXSIZE+1];/...
创建稀疏矩阵相应三元组的算法如下所示:
#define MAXSIZE 1000 /*假设非零元个数的最大值是1000*/
typedef struct
{
int i, j;
elemtype v;
}triple;
typedef struct
{
triple data[MAXSIZE+1]; /*data[0]用于存放稀疏矩阵行,列和非零元个数*/
int mu, nu, tu; /*稀疏矩阵行、列和非零元的个数*/
} spmatrix;
spmatrix a;
void CreatTripleTable (int array_a[M][N],spm...
用二维数组实现"魔方阵"的打印,所谓“魔方阵”是指满足每一行,每一列和对角线上的元素之和均相等的方阵。如:
8 1 63 5 74 9 2
就是一个三阶的魔方阵。现在要求编程实现任意输入一个自然数n,打印出相应的n阶魔方阵。
参考答案:
打印“魔方阵”算法如下所示:
void MagicMatrix( )
{
int a[16][16],i,j,k,p,m,n;
p=1;
while(p==1) /*输入1~15的奇数*/
{
printf("Please input n(n=1~15)\n");
scanf("%d",&...