为什么要找规律,,,这不是链表的课后题么2333
几天后, 找规律的确简单啊,链表普普通通,,,所以链表做法往下看, 漂亮的规律做法 点这里
#include <iostream>
#include <vector>
#include <cstdio>
#include <cstring>
#include <math.h>
#include <algorithm>
#include <queue>
#include <map>
#define mod 1000000007
using namespace std;
typedef long long ll;
const int N = 106;
const long long inf = 0x3f3f3f3f;
const double eps = 1e-5;
const double pi = acos(-1);
struct node
{
int num;
struct node *next;
};
node * creat(int n) //建表
{
int i;
node *head, *pre;
head = (node*)malloc(sizeof (node));
head -> num = 1;
pre = head;
for(i = 2; i <= n; ++i)
{
node *p = (node*)malloc(sizeof (node)); //千万记得申请新空间
p -> num = i;
pre -> next = p;
pre = p;
}
pre -> next = head; //连成环
return head;
}
int main()
{
int n;
scanf("%d", &n);
node *head = creat(n);
node *p, *pre;
pre = p = head;
int cnt = 1;
while(p -> next)
{
++cnt;
p = p -> next;
if(cnt == 3)
{
cnt = 1;
node * tp = p;
p = p -> next;
delete tp; //删掉这个点
pre -> next = p; //连上
}
if(pre == p) //此时只有一个结点
break;
pre = p;
}
printf("%d\n", pre -> num);
return 0;
}