w31hdwuie2 2023-03-29 10:40 采纳率: 71.4%
浏览 32
已结题

双向循环链表使链表有序递增

(C语言)(线性表)已知一双向循还链表,从第二个结点至表尾递增有序,(设a1<x<an)。试编写程序,将第一个结点删除并插入表中适当位置,使整个链表递增有序。
输入
输入长度n:7
输入数据:4 1 2 3 6 8 9
输出
1 2 3 4 6 8 9
样例输入
5
11 7 8 9 10
样例输出
7 8 9 10 11

  • 写回答

4条回答 默认 最新

  • 我爱OJ 2023-03-29 11:00
    关注

    该回答引用ChatGPT

    #include <stdio.h>
    
    // 删除线性表中所有值为item的数据元素
    int delete_item(int A[], int n, int item){
        int i = 0, j = 0;
        while (i < n) {
            if (A[i] != item) {
                A[j++] = A[i++];
            } else {
                i++;
            }
        }
        return j;
    }
    
    int main() {
        int n, item;
        scanf("%d", &n);
        int A[n];
        for (int i = 0; i < n; i++) {
            scanf("%d", &A[i]);
        }
        scanf("%d", &item);
    
        int new_length = delete_item(A, n, item);
        for (int i = 0; i < new_length; i++) {
            printf("%d ", A[i]);
        }
        return 0;
    }
    

    输入样例:

    10
    1 2 3 4 5 6 7 8 9 10
    8
    

    输出样例:

    1 2 3 4 5 6 7 9 10 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 修改了问题 3月29日
  • 修改了问题 3月29日
  • 展开全部