博客
关于我
拉丁方阵问题练习
阅读量: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慢查询日志总结
查看>>
MySQL慢查询问题排查
查看>>
mysql截取sql语句
查看>>
mysql手工注入
查看>>
Mysql执行update by id的过程
查看>>
mysql执行计划
查看>>
MySQL执行计划 EXPLAIN参数
查看>>
MySQL执行计划【explain】,看这一篇就够啦!
查看>>
Mysql执行计划字段解释
查看>>
mysql执行计划怎么看
查看>>
MySQL执行计划解读
查看>>
mysql执行顺序与索引算法
查看>>
mysql批量update优化_Mysql中,21个写SQL的好习惯,你值得拥有呀
查看>>
mysql技能梳理
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql排序查询
查看>>
Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据
查看>>
mysql操作数据表的命令_MySQL数据表操作命令
查看>>