文章

3

粉丝

490

获赞

1

访问

34.4k

头像
链表解法
P1081 兰州大学/湖南大学机试题
发布于2020年6月5日 17:15
阅读数 9.6k

用带头结点的链表模拟,把头结点的值赋成1,后续循环遍历更加方便,遍历的过程中还用到了递归的思想,虽然很麻烦,但比较容易懂!(p1018是这道题的一个特殊情况)

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

typedef struct CList{
    int num;
    struct CList *next;
}CList, * ClinkList;

bool InitList(ClinkList &L){
    L = (CList *)malloc(sizeof(CList));
    if(L == NULL)    return false;
    L->next = L;
    L->num = 1;
    return true;
}

bool Insert(ClinkList &L, int n){
    if(n<=0) return false;
    CList *q = L;
    for(int i=2; i<=n; i++){
        CList *p = (CList *)malloc(sizeof(CList));
        p->num = i;
        p->next = q->next;
        q->next = p;
 &...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发