博客
关于我
拉丁方阵问题练习
阅读量:599 次
发布时间:2019-03-12

本文共 1536 字,大约阅读时间需要 5 分钟。

#include "stdio.h"#include "stdbool.h"#include "string.h"#include "math.h"#include "stdlib.h"#include "stdarg.h"#include "time.h"typedef int Elemtype;typedef int Status;typedef struct node{	Elemtype data;	struct node* next;} Node;typedef struct node* LinkList;void CreatLatin(LinkList *CL,int num);void DeleteList(LinkList *CL);int main(void){	LinkList List;	int i,n;	printf("1.创建拉丁方阵\n2.释放当前方阵内存\n 输入0退出 \n");	while(i != 0)	{		scanf("%d",&i);		switch(i)		{			case 1:				printf("要创建n*n的方阵?\n请输入n = ");				scanf("%d",&n);				putchar('\n');				CreatLatin(&List,n);			break;			case 2:                DeleteList(&List);			break;		}	}	return 0;}void CreatLatin(LinkList *CL,int n){	LinkList temp,rear,p;	*CL = (LinkList)malloc(sizeof(Node));	(*CL)->next = *CL;	rear = *CL;	for(int i = 0 ; i < n ; i++)	{		temp = (LinkList)malloc(sizeof(Node));		temp->data = i+1;		temp->next = rear->next;		rear->next = temp;		rear = temp;	}	rear->next = (*CL)->next;	p = (*CL)->next;	for(int j = 0;j < n;j++)	{		for(int k = 0;k < n;k++)		{			printf("%d ",p->data);			p = p->next;		}		putchar('\n');		p = p->next;	}	putchar('\n');}void DeleteList(LinkList *CL){    LinkList temp,temp1;    int count = 2;    temp = (*CL)->next;    temp1 = *CL;    while(temp->next != (*CL)->next)    {        temp = temp->next;        count++;    }    LinkList buff[count];    for(int i = 0;i < count;i++)    {        buff[i] = temp1;        temp1 = temp1->next;    }    for(int i = 0; i < count;i++)    {        free(buff[i]);    }    *CL = 0;    printf("释放了%d个结点\n",count);}

转载地址:http://tcgtz.baihongyu.com/

你可能感兴趣的文章
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
MySQL 导出数据
查看>>
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>