文章目录
奇数移到偶数前面
1.有一个顺序表L,假设元素类型为int,设计一个尽可能高效的算法,将所有奇数移到偶数的前面
解法一:
#include <iostream>
#include<malloc.h>
using namespace std;
#define MAXSIZE 100
typedef struct list{
int data[MAXSIZE];
int length;
}SqList;
void CreateList(SqList *&L,int a[],int n){
int i=0,k=0;
L=(SqList *)malloc(sizeof(SqList));
while(i<n){
L->data[k]=a[i];
k++;
i++;
}
L->length=k;
}
void move(SqList *&L){
int i=0,j=L->length-1,t;
while(i<j){
while((i<j)&&(L->data[j]%2==0)){
j--;
}
while((i<j)&&(L->data[i]%2==1)){
i++;
}
if(i<j){
t=L->data[i];
L->data[i