爱问知识人 爱问教育 医院库

c 动态链表设计

首页

c 动态链表设计

编写一链表,实现以下功能:
(1)链表的生成,
(2)求取链表的长度,
(3)在链表的中间第k个位置插入节点,k从键盘输入
(4)在中间第k个位置删除节点,k从键盘输入

提交回答

全部答案

    2018-05-14 04:43:02
  •   给你一个百分百正确的程序,带正确的运行结果,如有任何问题,欢迎随时跟我交流:-)
    代码如下:
    #include
    #include
    using namespace std;
    struct node
    { int data;
    struct node * next;
    };
    typedef struct node NODE;
    typedef struct node * PNODE;
    void AddNode(PNODE h, int num)
    {
    PNODE p = h, n;
    n = new NODE;
    n->data = num;
    while (p->next != NULL)
    p = p->next;
    p->next = n;
    n->next = NULL;
    }
    void PrintList(PNODE head)
    { PNODE p;
    p = head->next;
    while (p != NULL)
    {
    cout next;
    }
    }
    int GetLength(PNODE head)
    {
    PNODE p = head->next;
    int len = 0;
    while (p != NULL)
    {
    p = p->next;
    len ;
    }
    return len;
    }
    void InsertNode(PNODE h, int k, int data)
    {
    int i = 0;
    PNODE p = h;
    if ( (k > GetLength(h) 1) || (k next;
    }
    PNODE n = new NODE;
    n->data = data;
    n->next = p->next;
    p->next = n;

    }
    void DeleteNode(PNODE h, int k)
    {
    int i = 0;
    PNODE p = h;
    int len = GetLength(h);
    if ( (k >= len) || (k next;
    }
    PNODE q = p->next;
    p->next = q->next;
    q->next = NULL;
    delete q;
    }
    int main(void)
    {
    int num = 1;
    int k = 0;
    PNODE head;
    head = new NODE;
    head->next = NULL;
    head->data = -1;
    for (int i = 1; i > k;
    cout > data;
    InsertNode(head, k, data);
    cout > k;
    DeleteNode(head, k);
    cout << "删除后,打印链表的结果如下:" << endl;
    PrintList(head);
    cout << "当前链表长度为: " << GetLength(head) << endl;
    return 0;
    }
    运行结果为:
    新建完成后,打印链表的结果如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    当前链表长度为: 9
    请输入插入点k: 2
    请输入要插入的数据data: 18
    插入后,打印链表的结果如下:
    1
    18
    2
    3
    4
    5
    6
    7
    8
    9
    当前链表长度为: 10
    请输入要删除的结点的序号k: 2
    删除后,打印链表的结果如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    当前链表长度为: 9。
      

    z***

    2018-05-14 04:43:02

类似问题

换一换

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):