系列文章目录
目录
前言
一、数组的元素的初始化
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef int Element;
typedef struct {//定义结构体类型
Element *element;//元素指针
Element Tablen;//元素下标
} STable;
void ST_printf(STable table) {
for (int j = 1; j < table.Tablen; j++) {
;
printf("%3d", table.element[j]);
}//随机生成
}
void ST_init(STable &table, int i) {
table.Tablen = i + 1;//本次采用的是哨兵模式。所以多加一个元素作为哨兵的存在位置
table.element = (Element *) malloc(sizeof(Element) * table.Tablen);
srand(time(NULL));
for (int j = 1; j < table.Tablen; j++) {
table.element[j] = rand() % 100;
}//随机生成数据存入
}
int main() {
STable sTable;
ST_init(sTable, 10);
ST_printf(sTable);
return 0;
}
二、按顺序进行查找
1.代码
代码如下(示例):
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <time.h> typedef int Element; typedef struct {//定义结构体类型 Element *element;//元素指针 Element Tablen;//元素下标 } STable; void ST_printf(STable table) { for (int j = 1; j < table.Tablen; j++) { ; printf("%3d", table.element[j]); } } void ST_init(STable &table, int i) { table.Tablen = i + 1;//本次采用的是哨兵模式。所以多加一个元素作为哨兵的存在位置 table.element = (Element *) malloc(sizeof(Element) * table.Tablen); // srand(time(NULL)); for (int j = 1; j < table.Tablen; j++) { int num = j; table.element[j] = ++num; }//随机生成数据存入 } int Table_search(STable table, Element key) { table.element[0] = key; int i; for (i = table.Tablen - 1; table.element[i] != key; i--); return i; } int main() { STable sTable; ST_init(sTable, 10); Element element = 110; printf("%d",Table_search(sTable, element)); // ST_printf(sTable); return 0; }
使用的哨兵进行查找