1.输入n个数进行排序,要求先按奇偶后按从小到大的顺序排序。
#include <iostream>
#include <algorithm>
using namespace std;
bool comp(int lhs, int rhs) {
if (lhs % 2 == 1 && rhs % 2 == 1 && lhs < rhs) {
return true;
}
else if (lhs % 2 == 1 && rhs % 2 == 0) {
return true;
}
else if (lhs % 2 == 0 && rhs % 2 == 0 && lhs < rhs) {
return true;
}
else {
return false;
}
}
int main() {
int n;
cin >> n;
int arr[1000] = {
0 };
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr, arr + n, comp);
for (int i = 0; i < n; i++) {
cout<< arr[i] << ' ';
}
cout << endl;
}
2.给定两个元素有序(从小到大)的链表,要求将两个链表合并成一个有序(从小到大)链表
#include <iostream>
using namespace std;
typedef struct node {
int data;
struct node* next;
}LNode,*LinkList;
LinkList MergeList(LinkList L1, LinkList L2) {
LinkList L3= (LinkList)malloc(sizeof(LNode));
L3->next = NULL;
LNode* r3 = L3;
LNode