zoukankan      html  css  js  c++  java
  • C语言 链表排序

    #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
    ", 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
    ", node->data);
     		node = node->next;// 
    	}
    
    	node = root->next;
    
    	//逆序;
    	node = Get_Pre(node);//
    
    	while(node){
    		printf("root->data  %d
    ", 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;
    }
    

      

  • 相关阅读:
    测试用例的优先级的概念
    Day02.测试用例和测试方法
    day01.测试理论
    开发python 面试题
    4.路径页面接口开发
    ps命令没有显示路径找到命令真实路径
    Linux软链接和硬链接
    Linux文件元数据和节点表结构
    jinjia2语言
    Ansible之YAML语言
  • 原文地址:https://www.cnblogs.com/vagabond/p/5617125.html
Copyright © 2011-2022 走看看