C语言顺序表:奇数放偶数前

简介: C语言顺序表:奇数放偶数前
#include<stdio.h>
#pragma warning(disable:4996)
using namespace std;
#define  MAXSIZE  20
typedef  int  ElemType;
typedef  struct
{
    ElemType  data[MAXSIZE];//最长为20个
    int   len;
} SqList;//定义结构体变量
void move(SqList & sq)
{
    ElemType t;
    int i = 0, j = sq.len - 1;
    while (i <= j) {
        while (sq.data[i] % 2 == 0) i++;  //从左向右找到奇数sq.data [i]
        while (sq.data[j] % 2 == 1) j--;  //从右向左找到偶数sq. data [j]
        if (i < j) 
        {
            t = sq.data[i];//偶数用t暂代替
            sq.data[i] = sq.data[j];//把j放到i位置
            sq.data[j] = t;//t就放到j位置
            i++; j--;//i就增加一位,j就减少一位
        }
    }
}
int main()
{
    SqList  sqA;
    int i;
    printf("请输入顺序表A的元素:");
    for (i = 0; i < 10; i++)
    {
        printf("顺序表第%d个元素", i);
        scanf("%d", &sqA.data[i]);
    }
    sqA.len = 10;
    move(sqA);       //调用move完成移动
    printf("奇偶排序后顺序表A中的元素为:");
    for (i = 0; i < 10; i++)
        printf("% 5d", sqA.data[i]);
}
相关文章
|
13天前
|
存储 C语言
探索C语言数据结构:利用顺序表完成通讯录的实现
本文介绍了如何使用C语言中的顺序表数据结构实现一个简单的通讯录,包括初始化、添加、删除、查找和保存联系人信息的操作,以及自定义结构体用于存储联系人详细信息。
17 2
|
13天前
|
C语言
链式顺序表实现(C语言描述)
本文介绍了如何在C语言中实现链式顺序表,包括数据结构的定义、节点的创建、数据的插入和删除以及链表的打印和销毁。
32 2
|
13天前
|
C语言
顺序表数组法构建(C语言描述)
如何使用C语言通过数组方法构建有序顺序表,包括顺序表的创建、插入、删除和打印等。
14 2
|
1月前
|
存储 C语言 C++
数据结构基础详解(C语言) 顺序表:顺序表静态分配和动态分配增删改查基本操作的基本介绍及c语言代码实现
本文介绍了顺序表的定义及其在C/C++中的实现方法。顺序表通过连续存储空间实现线性表,使逻辑上相邻的元素在物理位置上也相邻。文章详细描述了静态分配与动态分配两种方式下的顺序表定义、初始化、插入、删除、查找等基本操作,并提供了具体代码示例。静态分配方式下顺序表的长度固定,而动态分配则可根据需求调整大小。此外,还总结了顺序表的优点,如随机访问效率高、存储密度大,以及缺点,如扩展不便和插入删除操作成本高等特点。
156 5
|
1月前
|
存储 算法 C语言
C语言手撕数据结构代码_顺序表_静态存储_动态存储
本文介绍了基于静态和动态存储的顺序表操作实现,涵盖创建、删除、插入、合并、求交集与差集、逆置及循环移动等常见操作。通过详细的C语言代码示例,展示了如何高效地处理顺序表数据结构的各种问题。
|
4月前
|
存储 C语言
数据结构——顺序表(C语言版)
数据结构——顺序表(C语言版)
57 5
|
4月前
|
C语言
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
C语言——oj刷题——调整数组使奇数全部都位于偶数前面
29 1
|
4月前
|
C语言
【C语言刷题系列】交换整数的奇数位和偶数位
【C语言刷题系列】交换整数的奇数位和偶数位
|
5月前
|
存储 C语言
C语言实验-动态顺序表实现简易通讯录(二)
在这个C语言实验中,你将实现一个简单的通讯录,它使用动态顺序表来存储联系人信息。
47 2
|
5月前
|
存储 C语言
数据结构——顺序表(C语言)
数据结构——顺序表(C语言)