leetcode-Leetcode147c语言插入排序问题

问题描述

Leetcode147c语言插入排序问题

题目:Sort a linked list using insertion sort.(其实就是写一个直接插入排序)
但我的代码有问题,求大神指出错误在哪?

代码:

 /**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
 typedef struct listnode ListNode;
 struct listNode {
      int val;
      ListNode *next;
  };
struct ListNode* insertionSortList(struct ListNode* head) {

       if(head==NULL)
        return NULL;
    ListNode* newHead= (ListNode *)malloc(sizeof(ListNode));
    newHead->next=head;
    int i,j,tmp;

    for(ListNode* p=head->next,*prep=head;p;prep=p,p=p->next)
    {
        tmp=p1->val;
        p2=p1;
        for(ListNode *cur=newHead;cur->next!=p;cur=cur->next)
        {
            if(cur->next->val > p->val)
            {
                prep->next=p->next
                cur->next=p;
                p=prep;
                break;
            }

        }

    }
    ListNode* result = newHead->next;
    delete newHead;
    return result;
}
时间: 2024-10-04 00:17:23

leetcode-Leetcode147c语言插入排序问题的相关文章

c语言-C语言插入一个数字到数组中,然后排序 麻烦各位解答一下 看代码

问题描述 C语言插入一个数字到数组中,然后排序 麻烦各位解答一下 看代码 int i,j,temp; int count[9]; printf("请输入数值:n"); for(i=1;i<=8;i++) { printf("count[%d]=",i); scanf("%d",&count[i]); } for(i=1;i<=8;i++) { for(j=i+1;j<=8;j++) { if(count[j]>co

c语言-一个排序问题,困扰我好久,求前辈们解答

问题描述 一个排序问题,困扰我好久,求前辈们解答 之前发过,可还是没有解决,网页也找不到了,我有修改了一下,可还是运行不了,求前辈们帮我看一下. #include int imax(int shuzu[], int n) { int i, max; max = shuzu[0]; for (i = 0; i < n; i++) { if (shuzu[i] > max) max = shuzu[i]; } return (max); } int main(void) { int i, j, k

malloc-leetcode C语言 int**是怎么用的?

问题描述 leetcode C语言 int**是怎么用的? 5C 在Combination Sum这道题中用到了int** columnSizes参数,我认为他是应该申请了内存的,可是当我调用columnSizes[0] = (int*)malloc(sizeof(int));的时候没问题,但是当我调用columnSizes[1] = (int*)malloc(sizeof(int));就会出现runtime error的问题,这是为什么呢? 解决方案 这道题是递归问题代码:class Solu

MySQL数据插入 查询 删除语句详解

MySQL数据插入 将数据插入到MySQL表,需要使用SQL INSERT INTO命令.可以将数据插入到MySQL表使用mysql>提示符下或使用任何脚本,如PHP. 语法: 下面是通用的SQL语法INSERT INTO命令来插入数据到MySQL表:  代码如下 复制代码 INSERT INTO table_name ( field1, field2,...fieldN )                        VALUES                        ( value

将数据插入到MySQL表中的详细教程_Mysql

将数据插入到MySQL表,需要使用SQL INSERT INTO命令.可以将数据插入到MySQL表使用mysql>提示符下或使用任何脚本,如PHP.语法: 下面是通用的SQL语法INSERT INTO命令来插入数据到MySQL表: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 要插入的字符串数据类型,所有的值需要双或单引号,例如: - "value"

从编译到工具:几种mysql的优化方法

mysql|编译|优化 一.在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项.这种定制的mysql可以为你的应用提供最佳性能. 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%.(mysql文档如是说) 1.1.使用pgcc(pentium gcc)编译器 该编译器(http://ww

MySQL优化简明指南

mysql|优化 一.在编译时优化MySQL  如果你从源代码分发安装MySQL,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装MySQL适应仔细根据你的应用类型选择最可能好的编译选项.这种定制的MySQL可以为你的应用提供最佳性能. 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%.(MySQL文档如是说) 1.1.使用pgcc(Pentium GCC)编译器  该编译器(http://www

几种mysql的优化方法

    一.在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项.这种定制的mysql可以为你的应用提供最佳性能. 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%.(mysql文档如是说) 1.1.使用pgcc(pentium gcc)编译器 该编译器(http://www.goof.c

从编译到工具Mysql的优化方法

一.在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项.这种定制的mysql可以为你的应用提供最佳性能. 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%.(mysql文档如是说) 1.1.使用pgcc(pentium gcc)编译器 该编译器针对运行在奔腾处理器系统上的程序进行优化,用