带头结点的单链表冒泡排序

您所在的位置:网站首页 esfj八维排序 带头结点的单链表冒泡排序

带头结点的单链表冒泡排序

2023-03-10 21:46| 来源: 网络整理| 查看: 265

带头结点的单链表冒泡排序

本代码描述了带头结点的的冒泡排序,通过指针的移动来完成,其原理跟⼀维数组的冒泡排序⼀致,主要就是第⼀次排序将最⼤的数落到链

表的最后⼀个,第⼆次将次⼤的数落在倒数第⼆个位置。复杂度O(n^2)。具体过程代码中已有解释。第⼀次写写博客,如有错误,望⼤家

不吝赐教!

1

#include 

2

 

3

using namespace std;

4

 

5

//

链表中结点的结构体:由

value

值和⼀个结构体指针构成

6

struct LinkNode

7

{

8

    int value;

9

    struct LinkNode *link;

10

};

11

//

插⼊链表节点

12

LinkNode * InputList(LinkNode *head)

13

{

14

    head = new LinkNode;//

本例为带头结点的链表

15

    head->link = NULL;

16

    int size;

17

    coutlink = head->link;

25

        head->link = NewNode;

26

    }

27

    return head;

28

}

29

//

输出链表

30

void OutputList(LinkNode * head)

31

{

32

    LinkNode * pass = head;

33

    while(pass->link)

34

    {

35

        coutvaluelink!=tail)

52

        {

53

            if(p->link->value > q->link->value)

54

            {

55

                p->link = q->link;

56

                q->link = q->link->link;

57



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3