mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-04 17:26:32 +08:00
init
This commit is contained in:
73
we/23-4.c
Normal file
73
we/23-4.c
Normal file
@@ -0,0 +1,73 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
struct Toy
|
||||
{
|
||||
int val; // 玩具的编号
|
||||
struct Toy *next;
|
||||
};
|
||||
|
||||
void print(struct Toy *head){
|
||||
struct Toy *temp = head->next;
|
||||
while(temp != NULL){
|
||||
printf("%d-",temp->val);
|
||||
temp = temp->next;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
struct Toy *createToy(int val){
|
||||
struct Toy *t = (struct Toy *)malloc(sizeof(struct Toy));
|
||||
if(t == NULL){
|
||||
return NULL;
|
||||
}
|
||||
t->val = val;
|
||||
return t;
|
||||
}
|
||||
|
||||
bool init(struct Toy *head){
|
||||
struct Toy *temp = head;
|
||||
for(int i = 1;i<=10;i++){
|
||||
temp->next = createToy(i);
|
||||
temp = temp->next;
|
||||
if(temp == NULL){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void game(struct Toy *head,int val){
|
||||
struct Toy *temp = head;
|
||||
while (temp->next != NULL)
|
||||
{
|
||||
if(temp->next->val == val){
|
||||
break;
|
||||
}
|
||||
temp = temp->next;
|
||||
}
|
||||
|
||||
struct Toy *t = temp->next;
|
||||
temp->next = t->next;
|
||||
t->next = head->next;
|
||||
head->next = t;
|
||||
}
|
||||
|
||||
int main(){
|
||||
struct Toy *head = createToy(-1); //头节点
|
||||
if(head == NULL){
|
||||
printf("malloc fail\n");
|
||||
return -1;
|
||||
}
|
||||
bool in = init(head);
|
||||
if(in == false){
|
||||
printf("init fail\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
print(head);
|
||||
|
||||
game(head,3); // 骰子数为3
|
||||
print(head);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user