#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define TRUE 1
#define FLASE 0
typedef int Elemtype
typedef int Status
/*接口定义
Status InitList_Sq(SqList &L,int size,int inc)
void CreateList_Sq(SqList &L)
void print_Sq(SqList &L)
int Search_Sq(SqList L, Elemtype e)
Status DestroyList_Sq(SqList &L)
Status ClearList_Sq(SqList &L)
Status ListEmpty_Sq(SqList L)
int ListLength_Sq(SqList L)
Status GetElem_Sq(SqList L, int i, Elemtype &e)
Status PutElem_Sq(SqList &L, int i, Elemtype e)
Status Append_Sq(SqList &L, Elemtype e)
Status DeleteLast_Sq(SqList &L, Elemtype &e)
*/
--------------------
#include "顺序表.h"
//定义顺序表类型
typedef struct {
Elemtype *elem
int length
int listsize
int increment
}SqList
//初始化顺序表
Status InitList_Sq(SqList &L,int size,int inc) {
L.elem = (Elemtype *)malloc(size * sizeof(Elemtype))
L.length = 0
L.listsize = size
L.increment = inc
return TRUE
}
//创建顺序表
Status CreateList_Sq(SqList &L) {
int i
scanf_s("%d", &L.length)
if (L.length >= L.listsize) {
L.elem = (Elemtype *)realloc(L.elem, (L.listsize + L.increment) * sizeof(Elemtype))
}
if (!L.elem) {
return FLASE
}
printf("请输入你要创建的顺序表:\n")
for (i = 0i<L.lengthi++) {
scanf_s("%d", &L.elem[i])
}
}
//遍历顺序表
void print_Sq(SqList &L) {
int i
for (i = 0i<L.lengthi++) {
printf("%4d", L.elem[i])
}
}
//查找元素的位置
int Search_Sq(SqList L, Elemtype e) {
int i = 0
while (L.elem[i] != e&&i<L.length) {
i++
}
if (i>L.length)
return -1
else
return i + 1//因为C语言是从下标为0开始的,当i=0时表示第一个元素
}
//销毁顺序表
Status DestroyList_Sq(SqList &L) {
if (L.elem == NULL)
return -1
else
free(L.elem)
printf("\n销毁成功\n")
return TRUE
}
//清空顺序表
Status ClearList_Sq(SqList &L) {
if (L.elem == NULL)
exit(0)
int i
Elemtype *p_elem = L.elem
for (i = 0i<L.lengthi++) {
*L.elem = NULL
L.elem++
}
L.elem = p_elem
}
//判断顺序表是否为空
Status ListEmpty_Sq(SqList L) {
int i
Elemtype* p_elem = L.elem
for (i = 0i<L.lengthi++) {
if (*L.elem != 0) {
L.elem = p_elem
return FLASE
}
L.elem++
}
return TRUE
}
//求顺序表的长度
int ListLength_Sq(SqList L) {
return L.length
}
//用e返回顺序表L中第i个元素的值
Status GetElem_Sq(SqList L, int i, Elemtype &e) {
int j
Elemtype* p_elem = L.elem
if (i<1 || i>L.length)
return FLASE
for (j = 1j <= ij++)
L.elem++
e = *L.elem
L.elem = p_elem
return TRUE
}
//将顺序表L中第i个元素赋值为e
Status PutElem_Sq(SqList &L, int i, Elemtype e) {
L.elem[i - 1] = e
return TRUE
}
//在顺序表L表尾添加元素e
Status Append_Sq(SqList &L, Elemtype e) {
L.elem[L.length] = e
L.length++
L.listsize += L.increment
return TRUE
}
//删除顺序表L表尾元素
Status DeleteLast_Sq(SqList &L, Elemtype &e) {
e = L.elem[L.length - 1]
L.length--
return TRUE
}
********************************************主函数.c*************************************************
#include <stdio.h>
#include <stdlib.h>
#include "顺序表.h"
#include "源代码.h"
//--------------------主函数入口--------------------
int main(){
SqList L
int size, inc
int e
int a
int length
int i
int temp
int j=10
int ee
printf("\n--------------------顺序表初始化------------------\n")
printf("请输入顺序表的长度size以及扩容量:\n")
scanf_s("%d %d", &size, &inc)
InitList_Sq(L, size, inc)
CreateList_Sq(L)
printf("\n--------------------判断是否为空------------------\n")
if(ListEmpty_Sq(L)){
printf("该顺序表为空\n")
}
else
printf("该顺序表不为空\n")
printf("\n--------------------遍历顺序表--------------------\n")
printf("此时顺序表为:\n")
print_Sq(L)
printf("\n--------------------查找元素----------------------\n")
printf("\n请输入要查找的元素:\n")
scanf_s("%d",&e)
a = Search_Sq(L, e)
printf("%d为第%d位:\n",e,a)
printf("\n--------------------输出长度----------------------\n")
length = ListLength_Sq(L)
printf("顺序表的长度为%d\n",length)
printf("\n----------将顺序表L中第i个元素赋值为temp----------\n")
printf("请输入第i个元素的i值和temp值:\n")
scanf_s("%d %d",&i,&temp)
PutElem_Sq(L, i, temp)
printf("\n此时顺序表为:\n")
print_Sq(L)
printf("\n---------------在顺序表表尾添加元素---------------\n")
Append_Sq(L, j)
printf("\n此时顺序表为:\n")
print_Sq(L)
printf("\n---------------在顺序表表尾删除元素---------------\n")
DeleteLast_Sq(L, ee)
printf("\n被删除的元素为%d\n",ee)
printf("此时顺序表为:\n")
print_Sq(L)
printf("\n-------------------清空顺序表---------------------\n")
ClearList_Sq(L)
if(ListEmpty_Sq(L)){
printf("\n清空成功\n")
}
printf("\n------------------销毁顺序表----------------------\n")
DestroyList_Sq(L)
getchar()
getchar()
return 0
}
#include "stdio.h"#include "string.h"
void display(char * grid[11][6]){
for (int i = 0i <11i++) {
for (int j = 0j <6j++) {
printf("%7s ",grid[i][j])
}
printf("\n")
}
}
int getY(char * yid)
void set(char * yid,int x,char* c)
char* grid[11][6]
void init(){
for (int i = 0i <11i++) {
for (int j = 0j <6j++) {
grid[i][j] = (char *)""
}
}
grid[0][1] = (char *)"A"
grid[0][2] = (char *)"B"
grid[0][3] = (char *)"C"
grid[0][4] = (char *)"D"
grid[0][5] = (char *)"E"
grid[1][0] = (char *)"1"
grid[2][0] = (char *)"2"
grid[3][0] = (char *)"3"
grid[4][0] = (char *)"4"
grid[5][0] = (char *)"5"
grid[6][0] = (char *)"6"
grid[7][0] = (char *)"7"
grid[8][0] = (char *)"8"
grid[9][0] = (char *)"9"
grid[10][0] = (char *)"10"
}
int main(){
init()
set("A",1,"Andy")
display(grid)
return0
}
void set(char * yid,int x,char* c){
int y = getY(yid)
grid[x][y] = c
}
int getY(char * h_id){
if (strcmp(h_id, "A") == 0) {
return1
}
elseif(strcmp(h_id, "B") == 0){
return2
}
elseif(strcmp(h_id, "C") == 0){
return3
}
elseif(strcmp(h_id, "D") == 0){
return4
}
elseif(strcmp(h_id, "E") == 0){
return5
}
elsereturn -1
}
1、首先在电脑中,打开软件Dev-C++进入操作页面中,然后在页面中输入头文件。
2、然后接下来编写Main主函数。
3、接着定义一个变量并赋予初值,这样就可以编写printf函数语句。
4、编写完成后,在页面中找到并点击编译、链接、运行按钮。
5、这时候,如下图所示,便可有看到效果了。