順序表的實現

2021-07-27 23:11:48 字數 2434 閱讀 5039

用c語言實現順序表的一些基本操作:前插、後插、前刪、後刪、查詢等一些基本操作。

seqlist.h

#ifndef __seqlist_h__

#define __seqlist_h__

#include

#include

#include

#include

#define max 100

typedef int datatype;

typedef struct seqlist

seqlist, *pseqlist;

void initseqlist(pseqlist p);

void pushback(pseqlist p, datatype d);

void pushfront(pseqlist p, datatype d);

void popback(pseqlist p);

void popfront(pseqlist p);

datatype* search(pseqlist p, datatype d);

void remove(pseqlist p, datatype d);

void removeall(pseqlist p, datatype d);

void sort(pseqlist);

datatype binarysearch(pseqlist p, datatype d);

void show(pseqlist p);

#endif

test.c

#define _crt_secure_no_warnings 1

#include "seqlist.h"

void menu()

int main()

break;

case 6:

printf("請輸入需要刪除的元素:");

scanf("%d", &data);

remove(&mylist, data);

break;

case 7:

printf("請輸入需要刪除的元素:");

scanf("%d", &data);

removeall(&mylist, data);

break;

case 8:

sort(&mylist);

break;

case 9:

break;

case 10:

show(&mylist);

break;

case 0:

exit;

break;

default:

printf("輸入錯誤,請重新選擇\n");

break;

} } while (input);

return 0;

}seqlist.c

#include "seqlist.h"

void initseqlist(pseqlist p)

void pushback(pseqlist p, datatype d)

p->arr[p->count] = d;

p->count++;

}void pushfront(pseqlist p, datatype d)

for (i = p->count; i > 0; i--)

p->arr[0] = d;

p->count++;

}void popback(pseqlist p)

p->count--;

}void popfront(pseqlist p)

for (i = 0; i < p->count - 1;i++)

p->count--;

}datatype* search(pseqlist p, datatype d)

} printf("沒找到\n");

return null;

}//datatype* find(pseqlist p, datatype d)

//// }

// return null;

//}void remove(pseqlist p, datatype d)

for (i = 0; i < p->count; i++)

break;

} }p->count--;

}void removeall(pseqlist p, datatype d)

for (i = 0; i < p->count; i++)

}p->count--; }}

void sort(pseqlist p)

} } } datatype binarysearch(pseqlist p, datatype d) else if (p->arr[mid]

count; i++) printf("\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 ...