//
// main.c
// wangdao-datastructure
//
// Created by sun-weitao on 2023/7/22.
//
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define LIVE 1
#define DIE 0
#define N 100
struct trukey{
int num;
int state;
};
struct trukey* killTrukey(struct trukey* t,int len)
{
if(len > 2){
struct trukey* liveTrukey = malloc((len / 2) * sizeof(struct trukey));
int j = 0;
for(int i = 0;i<len;i++)
{
if((i + 1)%2 != 0){
t[i].state = DIE;
}else{
t[i].state = LIVE;
liveTrukey[j].num = t[i].num;
liveTrukey[j].state = t[i].state;
j++;
}
}
return killTrukey(liveTrukey, len / 2);
}else{
return t;
}
}
void printTruckey(struct trukey* t,int len){
for (int i = 0; i < len; i++) {
printf("num: %d state %d \n",t[i].num,t[i].state);
}
}
int main(int argc, const char * argv[]) {
struct trukey truckeies[N];
for (int i = 0; i < N; i++) {
truckeies[i].num = i + 1;
truckeies[i].state = LIVE;
}
struct trukey *l = killTrukey(truckeies, sizeof(truckeies)/sizeof(struct trukey));
printf("num: %d state: %d \n",l->num,l->state);
return 0;
}
聪明的火鸡,自命题
最新推荐文章于 2024-10-06 14:10:45 发布