本文目录
- 输入一组整数对该序列进行简单选择和归并排序(数据结构用c语言写啊)
- 怎么用C++(数据结构)编写选择排序的程序设计与实现
- 数据结构的插入排序、简单选择排序、交换排序怎么来编写
- 数据结构中,请分别写出直接插入排序、冒泡排序、简单选择排序的各趟结果
输入一组整数对该序列进行简单选择和归并排序(数据结构用c语言写啊)
给你一个归并排序的具体算法和分析:两路归并排序算法思路:①.把n个记录看成n个长度为l的有序子表;②.进行两两归并使记录关键字有序,得到n/2个长度为2的有序子表;③.重复第②步直到所有记录归并成一个长度为n的有序表为止;具体算法://归并操作templatestaticvoidmerge(typearray,intp,intq,intr){inti,k;intbegin1,end1,begin2,end2;int*temp=(int*)malloc((r-p)*sizeof(int));begin1=p;end1=q;begin2=q+1;end2=r;k=0;while(begin1《=end1&&begin2《=end2){if(array《array){temp=array;begin1++;}else{temp=array;begin2++;}k++;}while(begin1《end1)temp=array;while(begin2《end2)temp=array;for(i=0;i《(r-p);i++)array=temp;free(temp);}//--------------------------------------------------------------------------------templatevoidmergesort(typearray,unsignedintfirst,unsignedintlast){intmid=0;if(first《last){mid=(first+last)/2;mergesort(array,first,mid);mergesort(array,mid+1,last);merge(array,first,mid,last);}}
怎么用C++(数据结构)编写选择排序的程序设计与实现
给你一个二分查找这个很多公司面试啊 还有考试都要用到的 很重要 希望你能深入的理解的说// int BinSearch(SeqList R,KeyType K)// { //在有序表R中查找// }// return 0; //当low》high时表示查找区间为空,查找失败// } //BinSeareh
数据结构的插入排序、简单选择排序、交换排序怎么来编写
....不知道你说的事哪些排序,我们的排序法的名称太糟糕了,不像外国的,好多都是人民命名的,比如shell排序法和hoare的快速排序法。我大概随便理解下你说的着几个..插入排序的话,就是比如1-10个元素,用插入的话,前提应该是这些元素师按顺序排序的,然后你可以搞个对比,当要插入的元素x小于元素n的时候,比如a;然后a = x;大概就是这样了,要是写代码的话还是要写的规范一点才行简单排序法不知道你是什么意思....怎么个简单法?交换排序不知道是不是起泡法?其实起泡法比较慢了,不过简单,刚开始学的时候可以用用
数据结构中,请分别写出直接插入排序、冒泡排序、简单选择排序的各趟结果
#include《iostream》using namespace std;int a ={56,34,78,26,9,67,12,36};int b ={56,34,78,26,9,67,12,36};int c ={56,34,78,26,9,67,12,36};int insert_sort(int n){ int j,temp; for(int i = 1;i 《 n; i++) { if(a) { temp = a;j = i-1; do{ a; j--; }while(temp 《= a); a = temp; } for(int i = 0; i《 n; i++) cout《《a《《ends; cout《《endl; } return 0;}
int bubbleSort(int n){ int i,j,t; bool exchange; for(j = 0; j《n-1; j++) { exchange = 0; for(i = 0;i《 n-j-1; i++) if(b) { t = b; b; b = t; exchange = 1; } for(int i = 0; i《 n; i++) cout《《b《《ends; cout《《endl; if(!exchange) return 1; } return 0;}
int selectSort(int n){ int i,j,k,temp; for(i = 0; i《 n-1; i++) { k = i; for(j = i+1; j《 n; j++) { if(c) k = j; } if(k!= i) { temp = c; c; c = temp; } for(int i = 0; i《 n; i++) cout《《c《《ends; cout《《endl; } return 0;}int main(){ int n= 8; cout《《"插入排序,每次(第一行是原来的序列):"《《endl; for(int i = 0; i《 n; i++) cout《《a《《ends; cout《《endl; insert_sort(n); cout《《"最终结果:"《《endl; for(int i = 0; i《 n; i++) cout《《a《《ends; cout《《endl《《endl; cout《《"冒泡法,每次(第一行是原来的序列):"《《endl; for(int i = 0; i《 n; i++) cout《《b《《ends; cout《《endl; bubbleSort(8); cout《《"最终结果:"《《endl; for(int i = 0; i《 n; i++) cout《《b《《ends; cout《《endl《《endl; cout《《"选择排序,每次(第一行是原来的序列):"《《endl; for(int i = 0; i《 n; i++) cout《《c《《ends; cout《《endl; selectSort(8); cout《《"最终结果:"《《endl; for(int i = 0; i《 n; i++) cout《《c《《ends; cout《《endl; system("pause");}