王朝 数据结构之元素位置交换
来源:互联网 发布:梦幻宠物灵力计算法伤 编辑:程序博客网 时间:2024/04/27 21:17
//主要元素的交换注意最后的交换#include <iostream>#include<cstdio>#include<malloc.h>#include<cstring>using namespace std;#define MaxSize 100typedef struct{ int data[MaxSize]; int length;}SqList;void InitList(SqList *&L){ L=(SqList*)malloc(sizeof(SqList)); L->length=0;}void CreatList(SqList *&L,int 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 movel(SqList *&L){ int i=0,j=L->length-1; int pivot=L->data[0]; int 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; printf("i=%d\n",i);}/*void movel2(SqList *&L){ int i=0,j=L->length-1; int pivot=L->data[0]; int tmp; while(i<j) { while(i<j&&L->data[j]>pivot) j--; L->data[i]=L->data[j]; i++; while(i<j&&L->data[i]<=pivot) i++; L->data[j]=L->data[i]; j--; }; L->data[i]=pivot; printf("i=%d\n",i);}*/int main(){ int n,i; int a[MaxSize]; cin>>n; SqList *L; for(i=0;i<n;i++) scanf("%d",&a[i]); InitList(L); CreatList(L,a,n); movel(L); return 0;}
阅读全文
0 0
- 王朝 数据结构之元素位置交换
- 数据结构题典007:顺序表中元素块的位置交换(ANSI C)
- NSMutableArray交换数组元素位置的方法
- 交换两个兄弟元素的位置
- 交换排序之快速排序(以中间位置的元素作为基准)
- 第十四周-交换排序之快速排序(以中间位置的元素为标准)
- Axure之交换位置实现
- 数据结构顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- 异或运算交换两个元素位置,不需要额外空间
- jQuery 实现交换元素位置(移动节点)
- 交换数组中两个位置的元素值
- js 交换两个元素的位置,动画效果
- 交换一个数组前两个元素位置(@的用法)
- 数据结构之元素拆分
- 【学习点滴-数据结构-单链表】交换单链表中任意两个元素
- 数据结构:交换单链表中的任意两元素--C实现
- 王朝
- 王朝
- 高并发性能调试经验分享
- CSS3 选择器
- Defense4All 粗翻
- 【剑指offer-解题系列(23)】二叉搜索树的后序遍历
- Vim使用积累
- 王朝 数据结构之元素位置交换
- 手写一个Pcap捕包工具及性能优化
- 线性筛欧拉函数
- SDN综述
- Magento 2中文手册教程
- LeetCode Golang 答案
- Error: Failed to create the site. The machine does not have a valid license. Please authorize ArcGIS
- [模板练习]线性筛素数
- bzoj 1142: [POI2009]Tab 乱搞