C语言——利用二分法求数组中特定元素的索引,并在函数中引入了冒泡排序,可以求无序数组中的特定元素的索引

#include <stdio.h>

#include <stdlib.h>

int erfenfa(int *p, int len, int target)

{

int left = 0;

int right = len - 1;

int i;

int j;

int tmp;

for (i = 0; i < len; i++)

{

for (j = 0; j < len-1-i; j++)

{

if (pj > pj + 1)

{

tmp = pj;

pj = pj + 1;

pj + 1 = tmp;

}

}

}

while (left <= right)

{

int mid = (left + right) / 2;

if (pmid == target)

{

return mid;

}

else if (pmid < target)

{

left = mid + 1;

}

else if (pmid > target)

{

right = mid - 1;

}

}

return left;

}

int main()

{

int len;

int target;

int k;

scanf_s("%d", &len);

scanf_s("%d", &target);

int* p = (int*)malloc(sizeof(int) * len);

if (p == NULL)

{

return 1;

}

else

{

for (k = 0; k < len; k++)

{

scanf_s("%d", p + k);

}

int index = erfenfa(p, len, target);

printf("%d", index);

free(p);

}

return 0;

}

结果

数组中有四个元素,找到元素5的索引,输入数组中的元素排列没有顺序。

相关推荐
tkevinjd8 小时前
力扣148-排序链表
算法·leetcode·链表
不如语冰8 小时前
AI大模型入门-参数的传递
数据结构·人工智能·pytorch·python
qeen878 小时前
【C++】vector的模拟实现详解(二)
c++·学习·算法·迭代器·stl
流浪0018 小时前
数据结构篇(四):线性表——链表——双链表
数据结构·链表
代码雕刻家8 小时前
编程语法细节
java·c语言·开发语言
草莓熊Lotso9 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++
小七在进步9 小时前
数据结构:堆排序
数据结构
可编程芯片开发20 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考21 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
2401_8414956421 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理