精华内容
下载资源
问答
  • 逆序数据建立链表
    2022-03-21 21:29:30

    本题要求实现一个函数,按输入数据的逆序建立一个链表。

    函数接口定义:

     
    

    struct ListNode *createlist();

    函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:

    struct ListNode {
        int data;
        struct ListNode *next;
    };
    

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct ListNode {
        int data;
        struct ListNode *next;
    };
    
    struct ListNode *createlist();
    
    int main()
    {
        struct ListNode *p, *head = NULL;
    
        head = createlist();
        for ( p = head; p != NULL; p = p->next )
            printf("%d ", p->data);
        printf("\n");
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    1 2 3 4 5 6 7 -1
    

    输出样例:

    7 6 5 4 3 2 1 

     

    struct ListNode *createlist()
    {
    
        int n;
        struct ListNode *p,*head;
        head=(struct ListNode *)malloc(sizeof(struct ListNode));
        head->next=NULL;
        while(scanf("%d",&n),n!=-1)
        {
              p=(struct ListNode *)malloc(sizeof(struct ListNode));//头插
              p->data=n;
              p->next=head->next;
              head->next=p;
        }
        return head->next;
    }

    注意一下返回值

    更多相关内容
  • 逆序数据建立链表

    2022-03-23 16:41:36
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode { int data; ListNode *next; }; 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按...

    本题要求实现一个函数,按输入数据的逆序建立一个链表。

    函数接口定义:

    struct ListNode {
        int data;
        ListNode *next;
    };
    

    函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:

    struct ListNode *readlist();
    struct ListNode *deletem( struct ListNode *L, int m );

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct ListNode {
        int data;
        struct ListNode *next;
    };
    
    struct ListNode *readlist();
    struct ListNode *deletem( struct ListNode *L, int m );
    void printlist( struct ListNode *L )
    {
         struct ListNode *p = L;
         while (p) {
               printf("%d ", p->data);
               p = p->next;
         }
         printf("\n");
    }
    
    int main()
    {
        int m;
        struct ListNode *L = readlist();
        scanf("%d", &m);
        L = deletem(L, m);
        printlist(L);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    1 2 3 4 5 6 7 -1
    

    输出样例:

    7 6 5 4 3 2 1 

    //逆序数据建立链表
    struct ListNode {
    	int data;
    	struct ListNode* next;
    };
    
    struct ListNode* createlist();
    
    int main()
    {
    	struct ListNode* p, * head = NULL;
    
    	head = createlist();
    	for (p = head; p != NULL; p = p->next)
    		printf("%d ", p->data);
    	printf("\n");
    
    	return 0;
    }
    void* creat_list()
    {
    	struct ListNode* temp = NULL, * p;
    	temp = (struct ListNode*)malloc(sizeof(struct ListNode));
    	if (temp != NULL)
    	{
    		return temp;
    	}
    	else
    	{
    		return NULL;
    	}
    }
    
    struct ListNode* createlist()
    {
    	struct ListNode* temp = NULL, * head = NULL, *p = NULL;
    	p = creat_list();
    	while (1)
    	{
    		scanf("%d", &p->data);
    		if (p->data == -1)
    		{
    			return head;
    		}
    		else
    		{
    			p->next = head;
    			head = p;
    		}
    		p = creat_list();
    	}
    	return head;
    }

    展开全文
  • 逆序数据建立链表PTA

    2022-02-28 18:51:06
    按输入数据逆序建立一个链表,并返回链表头指针。链表节点结构定义如下: struct ListNode { int data; struct ListNode *next; }; 裁判测试程序样例: #include <stdio.h> #include <stdlib.h&...

    函数接口定义:

    struct ListNode *createlist();
    

    函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:

    struct ListNode {
        int data;
        struct ListNode *next;
    };
    

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct ListNode {
        int data;
        struct ListNode *next;
    };
    
    struct ListNode *createlist();
    
    int main()
    {
        struct ListNode *p, *head = NULL;
    
        head = createlist();
        for ( p = head; p != NULL; p = p->next )
            printf("%d ", p->data);
        printf("\n");
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    1 2 3 4 5 6 7 -1
    

    输出样例:

    7 6 5 4 3 2 1 

    自己想的是,正常建立链表,然后用类似于冒泡排序的做法倒序;写完后看到别人的贴子用头插法,感觉好厉害。 

    struct ListNode *createlist(){
        struct ListNode *head,*tail,*p,*q;
        head=tail=NULL;
        int n,ctn=0,i,j;
        while(scanf("%d",&n)&&n!=-1){
            ctn++;
            p=(struct ListNode *)malloc(sizeof(struct ListNode ));
            p->data=n;
            p->next=NULL;
            if(head==NULL){
                head=tail=p;
            }else{
                tail->next=p;
                tail=p;
            }
        }
        int t;
        for(i=0;i<ctn-1;i++){
            p=head;
            for(j=0,q=p->next;j<ctn-i-1;p=p->next,q=p->next,j++){
                t=p->data;
                p->data=q->data;
                q->data=t;
            }
        }
        return head;
    }

     

    展开全文
  • 6-57 逆序数据建立链表 (20 分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入...

    6-57 逆序数据建立链表 (20 分)

    本题要求实现一个函数,按输入数据的逆序建立一个链表。

    函数接口定义:

    struct ListNode *createlist();
    

    函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。链表节点结构定义如下:

    struct ListNode {
        int data;
        struct ListNode *next;
    };
    

    裁判测试程序样例:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct ListNode {
        int data;
        struct ListNode *next;
    };
    
    struct ListNode *createlist();
    
    int main()
    {
        struct ListNode *p, *head = NULL;
    
        head = createlist();
        for ( p = head; p != NULL; p = p->next )
            printf("%d ", p->data);
        printf("\n");
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    1 2 3 4 5 6 7 -1
    

    输出样例:

    7 6 5 4 3 2 1 
    

    Solution:

    struct ListNode*createlist() 
    {
        int num;
    	struct ListNode *p,*h,*t;
    	h=t=NULL;
    	while(scanf("%d",&num) && (num!=-1))
    	{
    		p = (struct ListNode*)malloc(sizeof(struct ListNode));
    		p->data = num;
    		p->next = NULL;
    		if(t == NULL)    t = p;
    		else             p->next = h;
    		h = p; 
    	}
    	return h;
    }
    
    展开全文
  • 6-6 逆序数据建立链表

    2022-06-02 17:27:58
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • PTA 逆序数据建立链表 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 7-6-4 逆序数据建立链表 (20 分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入...
  • 逆序数据建立链表 (20分)

    千次阅读 2020-02-26 21:10:38
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 中国大学MOOC-陈越、何钦铭-数据结构-2020春 这里是引用 本题要求实现二分查找算法。 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如下: typedef int Position; typedef ...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • PTA:逆序数据建立链表 (20分)

    千次阅读 2020-04-15 08:48:04
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 实验11-2-3 逆序数据建立链表 (20分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示...
  • 7-6-4 逆序数据建立链表 (20 分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入...
  • 6-2 逆序数据建立链表 (20分)

    千次阅读 2020-03-28 20:44:43
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 6-3 逆序数据建立链表

    2021-01-04 09:57:32
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 6-16 逆序数据建立链表 (20分)

    千次阅读 2020-07-02 18:26:11
    6-16 逆序数据建立链表 (20分) ** 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入...
  • 6-3 逆序数据建立链表 (20 分)

    千次阅读 2019-10-20 14:34:35
    本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 本题要求实现一个函数,按输入数据逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据逆序建立一个...
  • 实验11-2-3 逆序数据建立链表 (20分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示...
  • 实验11-2-3 逆序数据建立链表 (20 分) 本题要求实现一个函数,按输入数据的逆序建立一个链表。 函数接口定义: struct ListNode *createlist(); 函数createlist利用scanf从输入中获取一系列正整数,当读到−1时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,452
精华内容 3,780
关键字:

逆序数据建立链表