Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
92000 sh25_shenpy 链表查找(线性表) C++ 无测评数据 0 MS 0 KB 1107 2026-06-21 11:46:29

Tests(0/0):


#include <iostream> #include <vector> using namespace std; int main() { int x, n; cin >> x >> n; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } // 二分查找 int l = 0, r = n - 1; int pos = -1; while (l <= r) { int mid = (l + r) / 2; if (a[mid] == x) { pos = mid; break; } else if (a[mid] < x) { l = mid + 1; } else { r = mid - 1; } } if (pos != -1) { // 找到,和后继交换 cout << "yes" << endl; if (pos < (int)a.size() - 1) { swap(a[pos], a[pos + 1]); } } else { // 没找到,输出 no 并插入 cout << "no" << endl; int p; for (p = 0; p < (int)a.size(); ++p) { if (a[p] > x) break; } a.insert(a.begin() + p, x); } // 输出 for (int i = 0; i < (int)a.size(); ++i) { if (i > 0) cout << " "; cout << a[i]; } cout << endl; return 0; }