第三周项目4-顺序表应用 将所有奇数移到偶数前面

/* 
 
copyright (c) 2016,烟台大学计算机学院 
 
*All rights reserved. 
 
*文件名称:1.cpp 
 
*作者:孟令群 
 
*完成日期:2016年9月17日 
 
*版本号:v1.0 
 
*问题描述:将所在奇数移到所有偶数的前面,要求算法的时间复杂度为O(n),空间复杂度为O(1)。 
 
*输入描述:线性表长度、线性表中各元素 
 
*程序输出:调整顺序后的线性表 
  
 
*/  


list.h:


#define Maxsize 100  
typedef int Elemtype;          //自定义数据类型  
typedef struct list  
{  
    Elemtype data[Maxsize];    //存顺序表元素  
    int length;                //存顺序表长度  
} Sqlist;  
  
void CreateList(Sqlist *&l,Elemtype a[],int n);    //由a中的n个元素建立顺序表  
void DispList(Sqlist *l);                          //输出线性表  
void movejs(Sqlist *&l);                           //移动奇数  


fun.cpp:


#include  
#include  
#include "list.h"  
void CreateList(Sqlist *&l,Elemtype a[],int n)    //由a中的n个元素建立顺序表  
{  
    int i;  
    l=(Sqlist *)malloc(sizeof(Sqlist));           //分配存储空间  
    for(i=0;i         l->data[i]=a[i];                          //存放元素  
    l->length=n;                                  //设置长度  
}  
void DispList(Sqlist *l)                          //输出线性表  
{  
    int i;  
    for(i=0;ilength;i++)  
        printf("%d ",l->data[i]);  
    printf("\n");  
}  
void movejs(Sqlist *&l)                           //移动奇数  
{  
    int i=0,j=l->length-1;  
    Elemtype t;  
    while (i     {  
        while ((idata[j]%2==0))         //从右往左遍历找第一个奇数  
            j--;  
        while ((idata[i]%2==1))         //从左往右遍历找第一个偶数  
            i++;  
        if (i         {  
            t=l->data[i];  
            l->data[i]=l->data[j];  
            l->data[j]=t;  
        }  
    }  
}  


main.cpp:


#include  
#include  
#include  
#include "list.h"  
using namespace std;  
  
int main()  
{  
    int i,Llength;  
    Sqlist *l;  
    Elemtype a[Maxsize];  
    printf("请输入线性表长度:\n");  
    scanf("%d",&Llength);  
    printf("请输入线性表中各元素:\n");  
    for(i=0;i         scanf("%d",&a[i]);  
    CreateList(l,a,Llength);  
    movejs(l);  
    DispList(l);  
  
    return 0;  

}  


知识点总结:

        顺序表基本运算的应用

心得体会:

        巩固了相关知识点。


你可能感兴趣的:(第三周项目4-顺序表应用 将所有奇数移到偶数前面)