第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。
来源:互联网 发布:amp网络语言是什么意思 编辑:程序博客网 时间:2024/05/22 02:22
设顺序表有10个元素,其元素类型为整型。设计一个算法,以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。
设计出的算法是:
#include <stdio.h>#include <malloc.h>#define MaxSize 100typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;} SqList;void CreateList(SqList *&L, ElemType a[], int n){ int i; L=(SqList *)malloc(sizeof(SqList)); for (i=0; i<n; i++) L->data[i]=a[i]; L->length=n;}void DispList(SqList *L){ int i; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n");}void move1(SqList *&L) //定义解决问题的算法{ int i=0,j=L->length-1; ElemType pivot=L->data[0]; ElemType tmp; while (i<j) { while (i<j && L->data[j]>pivot) j--; while (i<j && L->data[i]<=pivot) i++; if (i<j) { tmp=L->data[i]; L->data[i]=L->data[j]; L->data[j]=tmp; } } tmp=L->data[0]; L->data[0]=L->data[j]; L->data[j]=tmp;}int main() //在main函数中调用,保证程序能运行,解决问题{ SqList *sq; ElemType x[10]= {3, 8, 2, 7, 1, 5, 3, 4, 6, 0}; CreateList(sq, x, 10); DispList(sq); move1(sq); DispList(sq); return 0;}
阅读全文
0 0
- 第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面
- 将数组中所有小于或等于0的元素都放在数组前面,大于0的元素放在数组后面。要求时间复杂度为o(n)
- 把数组元素更新为除该元素外其他所有元素的乘积
- 给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
- 给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
- 给定数组Arr[n],O(n)时间内找出每个元素左侧所有元素中位置最靠近该元素且大于该元素的元素
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变(创新工场)
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变(创新工场)
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转。
- 获取数组元素中右边第一个大于该元素的值
- 数组内部元素操作,将所有0移到后尾
- 单链表实现大于第一个元素的节点在后,小于第一个节点的元素在前
- 283. Move Zeroes (将数组中值为0的元素移到末尾)
- 错误:每个配置文件中只允许存在一个 元素,并且,如果存在该元素,它还必须是根 元素的第一个子元素
- 第三周 项目4:顺序表应用-将所在奇数移到所有偶数的前面
- 周航与乐视的600天 上演资本游戏恩怨情仇
- 大疆发布“飞行眼镜”,让你用头部控制无人机
- 特斯拉新车来临前调价,高端涨价低端打折
- uva 10859
- 学生管理系统(文件)
- 第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。
- Spring源码剖析(三)事物隔离级别和传播属性复习
- 活动——在活动回收时怎么保存数据
- HTTP请求处理
- idea中无法启动tomcat,一直是卡住的状态
- Web前端开发笔试面试题
- Eclipse导入项目报错Target runtime com.genuitec.runtime.generic.jee70 is not defined.
- MySQL 索引基础 (一)
- Qt中关于XML的读写应用