正序逆序生成单链表

  1. typedef struct LNode{
  2. int key;
  3. struct LNode *next;
  4. }LNode,*List;
  5. //正序生成单链表
  6. void CreateList1(List &L,int n){
  7. L=(List)malloc(sizeof(LNode));
  8. L->next=NULL;
  9. LNode *q=L;
  10. for(int i=1;i<=n;i++)
  11. {
  12. LNode *p=(LNode *)malloc(sizeof(LNode));
  13. scanf("%d",&p->key);
  14. q->next=p;
  15. q=p;
  16. p->next=NULL;
  17. }
  18. return;
  19. }
  20. //逆序生成单链表
  21. void CreateList2(List &L,int n){
  22. L=(LNode *)malloc(sizeof(LNode));
  23. L->next=NULL;
  24. for(int i=0;i<n;i++)
  25. {
  26. LNode *p=(LNode *)malloc(sizeof(LNode));
  27. scanf("%d",&p->key);
  28. p->next=L->next;
  29. L->next=p;
  30. }
  31. return;
  32. }
时间: 2024-11-10 09:42:16

正序逆序生成单链表的相关文章

C#数组的排序(正序逆序)

这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication4 { class Program { static void Main(string[] args) { string[] str = { "d","h","a","c",&

C语言:【单链表】逆置反转单链表

#include<stdio.h> #include<assert.h> #include<stdlib.h> typedef int DataType; typedef struct SListNode {     DataType data;     struct SListNode* next; }SListNode; SListNode* BuyNode(DataType x) {     SListNode* next = (SListNode*)malloc

Ka递归的编程练习 Part2|做到吐的正序逆序输出、等差数列和

1 #include<stdio.h> 2 void PP(int n) 3 { 4 if(n==0) return; 5 PP(n/10); 6 printf("%d",n%10); 7 } 8 void NP(int n) 9 { 10 if(n==0) return; 11 printf("%d",n%10); 12 PP(n/10); 13 } 14 int Ad(int n) 15 { 16 if(n==0) return 0; 17 if(n

UVA 10534-Wavio Sequence(dp_正序逆序最长上升子序列)

Wavio Sequence Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Description Problem D Wavio Sequence Input: Standard Input Output: Standard Output Time Limit: 2 Seconds Wavio is a sequence of integers. It has some

逆置/反转单链表

void Reverse (PLinkList* ppList) { Node* newHead = NULL; assert(ppList); if (*ppList != NULL) { // 取第一个节点做新的头结点 newHead = *ppList; Node* begin = (*ppList)->next; newHead->next = NULL; // 取节点进行头插 while (begin != NULL) { Node* tmp = begin; begin = beg

算法--链表的K逆序问题

转载请标明出处http://www.cnblogs.com/haozhengfei/p/9e6f4dda3138cf9fab17f996ec85b624.html 链表的K逆序问题 链表的k逆序 第7节 链表的k逆序练习题 有一个单链表,请设计一个算法,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点.例如链表1->2->3->4->5->6->7->8->null,K=3这个例子.调整后为,3->2->1->6-&g

如何实现链表的逆序

1 单向链表的反转 问题描述: 给定一个带头结点的单链表,请将其逆序.即如果单链表原来为head -->1 --> 2 --> 3 --> 4 --> 5,那么逆序后变为head --> 5 --> 4 --> 3 --> 2 --> 1. 解决过程: 给定一个单向链表1-->2-->3,通过下面的示意图,看如何一步一步的将单向列表反转. 代码实现: 1 class Node(object): 2 def __init__(self,

c - 逆序/正序输出每位.

1 #include <stdio.h> 2 #include <math.h> 3 4 /* 5 判断一个正整数的位数,并按正序,逆序输出他们的位. 6 */ 7 8 int 9 invert(int); 10 11 void 12 order(int, int); 13 14 int 15 main(void) { 16 int n = 56789; 17 printf("original:%d\n", n); 18 int bitCont = invert

单链表逆置Java

package com.kpp; /** * 单链表逆置 * 将单链表从第一个结点和第二个节点之间断开,然后将第2,3...个结点依次插入第一个结点之前 * @author kpp * */ class LNode{ private String data; private LNode next; } public class LinkedListReverse { private static void reverse(LNode head){ if(head == null||head.ne