博客
关于我
拉丁方阵问题练习
阅读量: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/

你可能感兴趣的文章
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>