#include <stdio.h>
#include <iostream>
#include <vector>
#include <assert.h>
#include <time.h>
#include <math.h>
#include <string>
#include <stdlib.h>
#include <stack>
using namespace std;
typedef struct ListNode{
ListNode * next;
int data;
};
//利用数组初始化一个链表(头节点不为空)
ListNode * create(int a[],int n){
ListNode *p = (ListNode *)malloc(sizeof(ListNode)),*q;
p->next = NULL;
p->data = a[0];
q=p;
for(int i=1;i<n;i++){
ListNode *temp = (ListNode *)malloc(sizeof(ListNode));
temp->data = a[i];
q->next= temp;
q = temp;
}
q->next = NULL;
return p;
}
//打印链表
void print_list(ListNode *p){
ListNode *tem = p;
while(tem != NULL ){
cout << tem->data;
tem = tem->next;
}
}
//将两个非降序的链表排序
ListNode *sort(ListNode *p,ListNode *q){
ListNode *head;
if( NULL == p){
return head = q;
}else if(NULL == q){
return head =p;
}
if(p->data < q->data){
head = p;
head->next = sort(p->next,q);
}else{
head = q;
head->next = sort(p,q->next);
}
}
03-27
03-27
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交