当前位置: 首页 > news >正文

学会分析问题,画出分析图,解释问题过程,找出规律 ;整数数组分为左右2个部分,左边位奇数右边偶数

// 整数数组左边是奇数右边是偶数.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include<stdio.h>
void swap(int& a,int& b)
{int temp=a;a=b;b=temp;
}
int main(int argc, char* argv[])
{int a[7]={1,2,3,4,5,6,7};int m=7;int n=m-1;int left=0;int right=n;while(left<right){while(left<right){if(a[left]%2==1)left++;elsebreak;}while(left<right){if(a[right]%2==0)right--;elsebreak;}swap(a[left],a[right]);left++,right--;}for(int i=0;i<7;i++)printf("%d  ",a[i]);printf("Hello World!\n");return 0;
}

 

(1)重要是学会分析问题,才是最根本!!!!

学会分析问题,画出分析图,解释问题过程,找出规律 

(2)其实,黄丽韵在《算法设计与分析》中说过:::遇到问题考虑以前是否有类似的问题吗??80%的问题都有人解决过!!!!!这个题循环过程    和    严蔚敏,李冬梅老师的快速排序划分过程相似吗??????

这就是分类总结!!!!!!!


int Partition(SqList *L,int low,int high)
{/* 交换顺序表L中子表的记录,使枢轴记录到位,并返回其所在位置,此时在它之前(后)均不大(小)于它。*/int pivotkey;pivotkey=L->r[low]; 	/* 用子表的第一个记录作枢轴记录 */while(low<high) 		/* 从表的两端交替地向中间扫描 */{ while(low<high&&L->r[high]>=pivotkey)high--;swap(L,low,high);	/* 将比枢轴记录小的记录交换到低端 */while(low<high&&L->r[low]<=pivotkey)low++;swap(L,low,high);	/* 将比枢轴记录大的记录交换到高端 */}return low; 			/* 返回枢轴所在位置 */
}
/* 对顺序表L作快速排序 */
void QuickSort(SqList *L)
{ QSort(L,1,L->length);
}/* 对顺序表L中的子序列L->r[low..high]作快速排序 */
void QSort(SqList *L,int low,int high)
{ int pivot;if(low<high){/* 将L->r[low..high]一分为二,算出枢轴值pivot */pivot=Partition(L,low,high); QSort(L,low,pivot-1);		 /*  对低子表递归排序 */QSort(L,pivot+1,high);		 /*  对高子表递归排序 */}
}int Partition(SqList *L,int low,int high)
{/* 交换顺序表L中子表的记录,使枢轴记录到位,并返回其所在位置,此时在它之前(后)均不大(小)于它。*/int pivotkey;pivotkey=L->r[low]; 	/* 用子表的第一个记录作枢轴记录 */while(low<high) 		/* 从表的两端交替地向中间扫描 */{ while(low<high&&L->r[high]>=pivotkey)high--;swap(L,low,high);	/* 将比枢轴记录小的记录交换到低端 */while(low<high&&L->r[low]<=pivotkey)low++;swap(L,low,high);	/* 将比枢轴记录大的记录交换到高端 */}return low; 			/* 返回枢轴所在位置 */
}


http://www.mrgr.cn/news/22802.html

相关文章:

  • AI边缘控制器:重塑工业自动化与控制的新篇章
  • 一篇清楚的明白什么是场外个股期权?
  • pycham debug accelerate的方法(accelerate launch)
  • 运营有哪几种?
  • linux限制普通用户只能上传文件不能下载和传文件到到其他服务器
  • 性能分析之MySQL索引实战案例
  • Elasticsearch
  • Retrieval-based-Voice-Conversion-WebUI模型构建指南
  • 云计算实训43——部署k8s基础环境、配置内核模块、基本组件安装
  • Python量化交易股票怎么做T
  • 抵债房卖家拿走合同不给办房产证怎么办?
  • fpga系列 HDL:简化的FIFO实现
  • 【python-斐波那契数列和完美数之间的区别】
  • 2025秋招NLP算法面试真题(十八)-大模型训练数据格式常见问题
  • 低温烧结银AS9378火爆的六大原因
  • VeRA——更高效的大型语言模型微调方法
  • C#基础(9)ref和out
  • 《JavaEE进阶》----13.<Spring Boot【配置文件】>
  • 自定义一个maven插件,deploy(推送)依赖到私服的时候企业微信群里通知
  • 软件供应链安全管理实践之统信软件