#include #include #include #include #define rep(i, a, b) for(int i = a; i < b; i++)
#define rep_(i, a, b) for(int i = a; i <= b; i++)
#define sl(n) scanf("%lld", &n);
#define si(n) scanf("%d", &n);
#define repall(a) for(auto x: a)
#define cout(ans) cout << ans << endl;
typedef long long ll;
const int maxn = 1e5 + 10;
/** * this code has been written by yueguang, feel free to ask me question. blog:
* created:2019.10.21
* 順序表的實現
*/using namespace std;
template class seqlist
//一維陣列初始化
seqlist(t *rdata, int size)
else
for(int i = 0; i < size; i++)
}//返回長度
int getlength()
//按位置查詢
t floc(int i)
else
return data[i];
} //按值查詢
int fval(t rdata)
}return -1;
} //插入
int ins(t insdata,int inspla)
length++;
}else if(length >= maxn - 2)
else
} //刪除p位置上的元素
void delp(int p)
length--;
return ;
}else
} //刪除所有值為d的
void dald(t d)
length--; } }
printf("%d delements deleted\n",tmplen - length);
printf("now len = %d", length);
return ;
} //遍歷順序表輸出
void pri()
cout << '\n';
return ;
}};
int main()
cout << "使用一維陣列賦值\n";
seqlistfirst(inp, n);
cout << "輸出測試" << '\n';
first.pri();
cout << "輸出長度" << '\n' << first.getlength() << '\n';
cout << "輸入i值, 插入到j位置上" << '\n';
int i, j;
cin >> i >> j;
first.ins(i, j);
cout << "輸出測試" << '\n';
first.pri();
int k;
cout << "輸入k進行按位置查詢(0 <= k <= " << first.getlength() <<")" << '\n';
cin >> k;
cout << "查詢到 : " << first.floc(k) << '\n';
}
順序表的實現
使用c 實現一下常用的資料結構,參考書為 資料結構 演算法與應用 c 語言描述 此次 為順序表,為了保證通用性採用模板機制,演算法本身沒有什麼難度,畢竟是基礎演算法,但是長時間不用c 一些高階特性和陷阱著實讓人難受。此次 共分三個檔案 1 sq list.h 實現順序表的結構和基本操作。2 excp...
順序表的實現
順序表很簡單,表裡面有個陣列,陣列中實際元素的個數 長度 lengthsqlcurrent,還有就是初始大小變數。可以解決約瑟夫環問題。最核心的兩個方法 刪除和插入,這兩個過程要移動元素。核心 package com.ibm.jzy.seqlist public class sqlist imple...
順序表的實現
順序表的操作 time limit 1000ms memory limit 65536k description 建立乙個順序表,然後在已建好的順序表上實現順序表插入和刪除等基本操作。最後輸出最終結果。input 有多組測試資料,每組資料由三部分組成。第一部分包含兩個整數n n 1000 和m m ...