数据结构课程设计(4)

2019-05-18 21:29

void run() { }

void print() { }

int _tmain() {

InitCircle() ; run() ; print() ;

system(\) ; return 0 ; } int i ;

printf(\) ; for(i = 0 ; i < count ; i++)

printf(\,f[i]) ; number * p =h ;

while(p->n < 200 && p->n + p->next->n < 200 && p->next->next->n < 200 && } count-- ;

p->n = p->n + p->next->n + p->next->next->n + p->next->next->next->n ; f[count++] = p->n ; p = p->next ;

p->next->next->next->n < 200){

5、 八皇后问题:设8皇后问题的解为 (x1, x2, x3, …,x8), 约束条件为:在8x8的棋盘上,

其中任意两个xi 和xj不能位于棋盘的同行、同列及同对角线。要求用一位数组进行存储,输出所有可能的排列。

#include \ #include \ #include \ #define N 8

int count , a[N] ,b[N][N];

int position(int i , int j) {

int ii = i - 1 ,jj = j , ok = 1 ; while((ii > 0)&&ok) {

ii-- ;

if(a[ii] == jj)

}

}

ok = 0 ;

ii = i - 1 ; jj = j ;

while((ii > 0)&&(jj > 1)&&ok) { }

ii = i - 1 ; jj = j ;

while((ii > 0)&&(jj

return ok ;

ii-- ; jj++ ;

if(a[ii] == jj)

ok = 0 ; ii-- ; jj-- ;

if(a[ii] == jj)

ok = 0 ;

void queen(int i) {

if(i <= N ) { } else {

count++ ;

printf(\, count); for(int j = 1 ;j <= N ;j++)

printf(\,a[j-1]); printf(\) ;

for(int i = 0 ;i < N ;i++) for(int j = 1 ;j <= N ;j++) { }

if(position(i,j)) { }

a[i-1] = j ; queen(i+1) ;

{ {

b[i][a[i]-1] = 1;

for(int j = 0 ;j < N ;j++) printf(\,b[i][j]); }

printf(\); b[i][a[i]-1] = 0; }

int _tmain(int argc, _TCHAR* argv[]) {

queen(1) ; system(\) ; return 0; }

}

6、 }

数组与广义表

10、鞍点问题: 若矩阵A中的某一元素A[i,j]是第i行中的最小值,而又是第j列中的最

大值,则称A[i,j]是矩阵A中的一个鞍点。写出一个可以确定鞍点位置的程序。

#include \ #include \ #include \

void found() {

int m , n , i , j , b , k , q , f = 1; printf(\请输入数组行数:\\n\) ; scanf_s(\,&m) ;

printf(\请输入数组列数:\\n\) ; scanf_s(\,&n) ;

int *a = (int*)malloc(sizeof(int)*m*n) ; printf(\请输入数组值:\\n\) ; for(i = 0 ; i < m ; i++) { }

printf(\输入数组为:\\n\); for(i = 0 ; i < m ; i++) {

for(j = 0 ; j < n ; j++) for(j = 0 ; j < n ; j++)

scanf_s(\,a+i*n+j) ;

}

printf(\,*(a+i*n+j)) ;

printf(\);

for( i = 0 ; i < m ; i++) {

b = *(a+i*m) ; q = 0 ;

for(j = 0 ; j < n ; j++) { }

b = *(a+i*n+q) ;

if(*(a+i*n+j) < b) { }

b = *(a+i*n+j) ; q = j ;

for(k = 0; k < m; k++) {

if(b < *(a+k*n+q)) break; }

if(k == m) {

printf(\该数组鞍点为第%d行第%d列的数字:%d\\n\ , i+1 , q+1 , b); f = 0 ; } } if(f)

printf(\没有找到鞍点。\\n\); }

int _tmain(int argc, _TCHAR* argv[]) {

found() ;

system(\) ; return 0;

11、}

12、稀疏矩阵转置: 输入稀疏矩阵中每个元素的行号、列号、值,建立稀疏矩阵的三元组

存储结构,并将此矩阵转置,显示转置前后的三元组结构。

#include \ #include \ #include \

typedef struct

{

typedef struct {

void In_Mat(Matrix * m) { }

void Out_Mat(Matrix m) { }

void Tra_Mat(Matrix * m ,Matrix * n) { }

int _tmain(int argc, _TCHAR* argv[])

n->ii = m->jj ; n->jj = m->ii ; n->cc = m->cc ;

for(int t = 0 ; t < n->cc ; t++) { }

n->data[t].i = m->data[t].j ; n->data[t].j = m->data[t].i ; n->data[t].v = m->data[t].v ; printf(\行\\t列\\t值\\n\) ; for(int c = 0 ; c < m.cc ; c++)

printf(\,m.data[c].i , m.data[c].j , m.data[c].v) ; printf(\请输入矩阵行数:\\n\) ; scanf_s(\,&m->ii) ;

printf(\请输入矩阵列数:\\n\) ; scanf_s(\,&m->jj) ;

printf(\请输入非零元素个数:\\n\) ; scanf_s(\,&m->cc) ;

printf(\请依次输入非零元素所在的行数、列数和其值:\\n\) ; for(int c = 0 ; c < m->cc ; c++)

scanf_s(\,&m->data[c].i , &m->data[c].j , &m->data[c].v) ; Triple data[100] ; int ii , jj , cc ; int i , j , v ; }Triple ;

}Matrix ;


数据结构课程设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一汽实习报告讲解 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: