#include <stdio.h>
#include <stdlib.h>
#include <assert.h> typedef struct node{
int data;
struct node* next;
}ListNode; extern int CSort();
extern ListNode* Get_Pre(); ListNode *root = NULL;// int main(int argc, char* argv[]){
int a[] = { 2, 4, 3, 59, 45, 32, 22};
ListNode *node = NULL;
ListNode *tmp = NULL;
int i = 0 ; root = (ListNode *)malloc(sizeof(ListNode)); node = root;
for(i=0; i< sizeof a / sizeof(int); ++i){
//printf("a in %d\n", a[i]);
tmp = (ListNode *)malloc(sizeof(ListNode));
tmp->data = a[i];
node->next = tmp;
node = tmp;
}
tmp->next = NULL; // CSort(); node = root->next;
while(node){
printf("node->data %d\n", node->data);
node = node->next;//
} node = root->next; //逆序;
node = Get_Pre(node);// while(node){
printf("root->data %d\n", node->data);
node = node->next;//
}
return 0; //
} int CSort(){
ListNode *p = root->next;
ListNode *p_pre = p->next;
int change_value = 0; assert(root); // while(p){
p_pre = p->next;
while(p_pre){
if(p->data <= p_pre->data){
;
}else{
change_value = p->data;
p->data = p_pre->data;
p_pre->data = change_value;
}
p_pre = p_pre->next;
}
p = p->next;
}
} ListNode* Get_Pre(ListNode* head)
{
ListNode *pre = NULL;
ListNode *next = NULL;
while(head){
next = head->next;
head->next = pre;
pre = head;
head = next;
}
return pre;
}

  

C语言 链表排序的更多相关文章

  1. c语言:链表排序, 链表反转

    下面将实现链表排序的排序和遍历显示功能: 所定义的链表结构如下: head -> p1 -> p2 ->p3 ->....->pn; head的本身不作为数据节点,hea ...

  2. C语言链表操作模板(添加,删除,遍历,排序)

    C语言链表操作模板,摘自郝斌的C语言视频教程,简单的修改成了纯C格式.当年照着视频学习的时候记录下来的,在使用的时候直接拿来修改修改修改能节约不少时间的. /********************* ...

  3. C语言链表中数组实现数据选择排序,升序、降序功能主要难点

    链表排序讲解: head指针指向链表的头结点,是找到整个链表的唯一依据,如果head指针丢失,整个链表就找不到了. head存储的是第一个节点的地址,head->next存储的是第二个节点的地址 ...

  4. C语言 链表的创建--打印--逆置--新增--删除--排序--释放

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  5. C语言 链表的使用(链表的增删查改,链表逆转,链表排序)

    //链表的使用 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include< ...

  6. 链表插入和删除,判断链表是否为空,求链表长度算法的,链表排序算法演示——C语言描述

    关于数据结构等的学习,以及学习算法的感想感悟,听了郝斌老师的数据结构课程,其中他也提到了学习数据结构的或者算法的一些个人见解,我觉的很好,对我的帮助也是很大,算法本就是令人头疼的问题,因为自己并没有学 ...

  7. ZT C语言链表操作(新增单向链表的逆序建立)

    这个不好懂,不如看 转贴:C语言链表基本操作http://www.cnblogs.com/jeanschen/p/3542668.html ZT 链表逆序http://www.cnblogs.com/ ...

  8. 帮初学者改代码——有多少青春可以挥霍之“c语言 多重排序”

    原文:“c语言 多重排序” 原代码: #include<stdio.h> #include<string.h> struct A { char name[100]; int g ...

  9. C语言 链表

    原文:C语言 链表 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的. 自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能. ...

随机推荐

  1. c语言游戏推箱子

    前两天做了推箱子小游戏,看似简单的一个小游戏背后却 有巨大的秘密,这秘密就是一大堆逻辑. 自从学习了函数过后,的确是解决了很多问题,而且调用很方便,尽管我现在都不是很会调用. 写完一个函数,准备测试一 ...

  2. Java通过ODBC链接数据库并遍历结果的一个问题

    上一篇文章谈到怎么连接Oracle数据库,其实通过ODBC也差不多,只是driver要换成JdbcOdbcDriver.配置文件如下: driver=sun.jdbc.odbc.JdbcOdbcDri ...

  3. [转载]jQuery中wrap、wrapAll和wrapInner用法以及区别

    原文地址:jQuery中wrap.wrapAll和wrapInner用法以及区别作者:伊少君 原文: <ul>   <li title='苹果'>苹果</li>   ...

  4. 【三石jQuery视频教程】03.创建垂直时间表(Timeline)

    视频地址:http://v.qq.com/page/g/i/o/g0150rvi6io.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...

  5. [转]数据恢复 文件恢复工具 DiskGenius v4.9.1 绿色专业版及单文件

    必备神软!数据恢复及磁盘分区利器DiskGenius,目前最新版为v4.9.1,现在又有新思路的已注册专业版,已亲测可成功恢复4G以上的大文件,但不能虚拟磁盘格式转换!想用新版功能的有福了,推荐使用! ...

  6. JQurey

    jQuery 是一个 JavaScript 库.极大地简化了 JavaScript 编程,很容易学习. jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML ...

  7. BZOJ 1861: [Zjoi2006]Book 书架

    1861: [Zjoi2006]Book 书架 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 1290  Solved: 740[Submit][Stat ...

  8. Bzoj1096 [ZJOI2007]仓库建设

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4193  Solved: 1845 Description L公司有N个工厂,由高到底分布在一座山上. ...

  9. POJ2396 Budget

    Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 7401   Accepted: 2764   Special Judge D ...

  10. <<< 网页中如何利用原生js和jquery储存cookie

    javascript当中的cookie机制,使应用达到了真正的全局变量的要求,cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由Java ...