下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX 10#define SWAP(x,y) {int t; t = x; x = y; y = t;}voID quicksort(int[],int,int);int intsrch(int[],int);int main(voID){ int number[MAX] = { 0 }; int i,find; srand(time(NulL)); for (i = 0; i < MAX; i++) { number[i] = rand() % 100; } quicksort(number,MAX - 1); printf("数列:"); for (i = 0; i < MAX; i++) printf("%d ",number[i]); printf("\n输入寻找对象:"); scanf("%d",&find); if ((i = intsrch(number,find)) >= 0) printf("找到数字于索引%d ",i); else printf("\n找不到指定数"); printf("\n"); return 0;} int intsrch(int number[],int find){ int low,mID,upper; low = 0; upper = MAX - 1; while (low <= upper) { mID = (upper - low) *(find - number[low]) / (number[upper] - number[low]) + low; if (mID < low || mID > upper) return - 1; if (find < number[mID]) upper = mID - 1; else if (find > number[mID]) low = mID + 1; else return mID; } return - 1;} voID quicksort(int number[],int left,int right){ int i,j,k,s; if (left < right) { s = number[(left + right) / 2]; i = left - 1; j = right + 1; while (1) { while (number[++i] < s) ; // 向右找 while (number[--j] > s) ; // 向左找 if (i >= j) break; SWAP(number[i],number[j]); } quicksort(number,left,i - 1); // 对左边进行递回 quicksort(number,j + 1,right); // 对右边进行递回 }}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的C语言算法- 插补搜寻法全部内容,希望文章能够帮你解决C语言算法- 插补搜寻法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)