/**注意往链表头插入元素的情况 * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NU...
分类:
编程语言 时间:
2015-07-21 20:17:21
阅读次数:
107
题意:给一个链表,实现插入排序。思路:O(1)空间,O(n*n)复杂度。将排好的用另一个链表头串起来,那个链表头最后删掉,再返回链表。 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int ...
分类:
编程语言 时间:
2015-07-21 01:17:04
阅读次数:
138
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
Li...
分类:
其他好文 时间:
2015-06-17 11:41:56
阅读次数:
123
用插入排序对链表排序解题思路:最省时间的方法是使用优先级队列,但是无法通过,那就直接插入排序好了。 public ListNode insertionSortList(ListNode head) { ListNode root = new ListNode(Integer.MIN_VALU...
分类:
编程语言 时间:
2015-06-15 23:25:17
阅读次数:
681
自己写的代码有几个比较大的用例一直过不去,网上的代码大部分有问题,思路是先将链表置空表,再将链表中的元素循环插入到指定位置。 下面是一份正确的代码,但是是带头节点的链表:void Insertsort(Linklist &L){ LNode *p,*q,*r,*u; p=L->next...
分类:
编程语言 时间:
2015-06-10 13:54:41
阅读次数:
204
思想:把待排序的链表分为已经排序的链表,和剩余未排序的链表例如:3->4->1->5->2->NULL已经排序完毕的的链表:(从第一个数开始) 3->NULL 未排序完毕的链表:4->1->5->2 用p表示还未排序的剩余链表的首节点例如:3->4->NUL...
分类:
编程语言 时间:
2015-05-20 20:25:22
阅读次数:
131
// InsertSort.cpp : 定义控制台应用程序的入口点。
//插值排序
#include "stdafx.h"
#include
static int testArray[] = {0,55,33,22,99,77,66,11,44,88,9};//11个
//数组0号位置 作为 哨兵...
//升序排序
void insertSort(int * array,int num)...
分类:
编程语言 时间:
2015-05-02 15:15:56
阅读次数:
167
对单链表插入排序,给出个单链表的head节点;返回排完序的head节点;首先数据结构中习惯了以数组为参数排序,瞬间想到是遍历单链表存入arraylist中,再进行insert sort,(O(n**2)),space(O(n)),leetcode过不去;链表插入排序注意事项: 1:依次调用hea.....
分类:
其他好文 时间:
2015-04-12 17:30:43
阅读次数:
125
名称数据对象稳定性时间复杂度空间复杂度描述平均最坏冒泡排序数组(无序区,有序区)。从无序区通过交换找出最大元素放到有序区前端。选择排序数组(有序区,无序区)。在无序区里找一个最小的元素跟在有序区的后面。对数组:比较得多,换得少。链表插入排序数组、链表(有序区,无序区)。把无序区的第一个元素插入到有序...
分类:
编程语言 时间:
2015-04-10 23:52:20
阅读次数:
230
Sort a linked list using insertion sort.链表插入排序,和数组插入排序类似,但是不需要移动元素,从前向后比较并插入即可。内外两层循环,时间复杂度O(n^2)1、使用dummy节点。 2、为便于插入,pre指针指向外层循环节点 1 ListNode *insert...
分类:
其他好文 时间:
2015-01-15 00:15:03
阅读次数:
272