zoukankan      html  css  js  c++  java
  • 数据结构-单链表回环函数判断

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define size 4
    int swap(int source[], int a, int b) {
        int temp;
        temp = source[a];
        source[a] = source[b];
        source[b] = temp;
        return 0;
    }
    typedef struct node {
        int data;
        struct node *next;
    }linklist;
    
    linklist *creatlist(int n) {
        linklist *p, *head, *q;
        int i;
        head = (linklist *)malloc(sizeof(linklist));
        head->data = 1;
        q = head;
        for (i = 2; i <= n; i++) {
            p = (linklist *)malloc(sizeof(linklist));
            p->data = i;
            q->next = p;
            q = p;
        }
        q->next = NULL;
    
        return head;
    
    }
    linklist *judge(linklist *head)
    {
        if (head == NULL | head->next == NULL) {
            return 0;
        }
        linklist *p, *q;
        p = head->next;
        q = head->next->next;
        while (q  && q->next && p != q) {
            p = p->next;
            q = q->next->next;
    
        }
        if (p == q) {
            printf("this is a 回环链表 
    ");
        }
        else printf("this is not 回环链表 
    ");
        return 0;
    }
    
    int main()
    {
        linklist *head, *now;
        head = creatlist(8);
        now = head;
        int i;
        for (i = 0; i < 8; i++) {
            printf("%d ", now->data);
            now = now->next;
        }
        printf("
    ");
        now = head;
        judge(now);
    }
  • 相关阅读:
    webpack
    Js数组和字符串常用方法
    Vue.js 2.0 快速上手
    雅虎前端优化的35条军规
    前端问题大杂烩
    Java和js的区别,以及Java和c的区别
    前后端联调
    99%的人都理解错了HTTP中GET与POST的区别
    vue项目目录
    vuex入门
  • 原文地址:https://www.cnblogs.com/cyyz-le/p/11269079.html
Copyright © 2011-2022 走看看